kitchen-cinc 1.0.0 → 1.1.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 +4 -4
- data/lib/kitchen/provisioner/chef_alias_loader.rb +58 -0
- data/lib/kitchen/provisioner/chef_apply.rb +37 -0
- data/lib/kitchen/provisioner/chef_infra.rb +44 -0
- data/lib/kitchen/provisioner/chef_solo.rb +37 -0
- data/lib/kitchen/provisioner/chef_target.rb +37 -0
- data/lib/kitchen/provisioner/chef_zero.rb +39 -0
- data/lib/kitchen/provisioner/cinc_base.rb +31 -0
- data/lib/kitchen/provisioner/cinc_version.rb +1 -1
- data/lib/kitchen-cinc/provisioner/chef_apply.rb +24 -0
- data/lib/kitchen-cinc/provisioner/chef_infra.rb +32 -0
- data/lib/kitchen-cinc/provisioner/chef_solo.rb +24 -0
- data/lib/kitchen-cinc/provisioner/chef_target.rb +24 -0
- data/lib/kitchen-cinc/provisioner/chef_zero.rb +24 -0
- metadata +13 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 115d50991f3f3f920ad92ced7a40e4a71a978cda43d3fd2084673e930737134b
|
|
4
|
+
data.tar.gz: 0c216f2187fa74179d179a114eef55e45ddaa20274b54e837fc76b6729540b77
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1d9ff891fa13ea3faab81f13cc3ea80e603b1d61de1f368f208f99bf31d2c166593e8f839226fd9f7bcf0e1cf95d5ac6c426b7030f2af2144c648d96024819eb
|
|
7
|
+
data.tar.gz: e9d5c0b571cf11275c374baa0d2cb840af46bcd5c0093cd495c9b6973b5adebb194599b2afd34d9bc38970ba796a0a2638196a027f3cb4ef26e9fc4b533ee514
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (C) 2026, Oregon State University
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
require "kitchen/util"
|
|
17
|
+
|
|
18
|
+
module Kitchen
|
|
19
|
+
module Provisioner
|
|
20
|
+
# Helpers for the chef_* alias provisioners shipped by kitchen-cinc.
|
|
21
|
+
#
|
|
22
|
+
# The chef_* names have a priority order across kitchen-* gems:
|
|
23
|
+
# kitchen-chef-enterprise > kitchen-cinc > kitchen-omnibus-chef. When a
|
|
24
|
+
# higher-priority gem is installed, our chef_* alias should yield to it
|
|
25
|
+
# rather than claim the constant. Users who explicitly want kitchen-cinc
|
|
26
|
+
# behavior should use the cinc_* names in kitchen.yml.
|
|
27
|
+
module ChefAliasLoader
|
|
28
|
+
module_function
|
|
29
|
+
|
|
30
|
+
# If kitchen-chef-enterprise is installed, attempt to load its
|
|
31
|
+
# implementation of the named provisioner from its absolute path
|
|
32
|
+
# (bypasses $LOAD_PATH ambiguity). Returns true if enterprise's
|
|
33
|
+
# version was loaded and now owns the constant; false otherwise,
|
|
34
|
+
# in which case the caller should register its own subclass.
|
|
35
|
+
#
|
|
36
|
+
# @param const_name [Symbol] the unqualified constant under
|
|
37
|
+
# Kitchen::Provisioner (e.g. :ChefInfra)
|
|
38
|
+
# @return [Boolean]
|
|
39
|
+
def defer_to_enterprise(const_name)
|
|
40
|
+
spec = enterprise_spec
|
|
41
|
+
return false unless spec
|
|
42
|
+
|
|
43
|
+
file_name = Kitchen::Util.snake_case(const_name.to_s)
|
|
44
|
+
path = File.join(spec.gem_dir, "lib", "kitchen", "provisioner", "#{file_name}.rb")
|
|
45
|
+
return false unless File.exist?(path)
|
|
46
|
+
|
|
47
|
+
require path
|
|
48
|
+
Kitchen::Provisioner.const_defined?(const_name, false)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def enterprise_spec
|
|
52
|
+
Gem::Specification.find_by_name("kitchen-chef-enterprise")
|
|
53
|
+
rescue Gem::LoadError
|
|
54
|
+
nil
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (C) 2026, Oregon State University
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
require_relative "cinc_apply"
|
|
17
|
+
require_relative "chef_alias_loader"
|
|
18
|
+
|
|
19
|
+
# See chef_infra.rb for the priority and remove_const rationale.
|
|
20
|
+
unless Kitchen::Provisioner::ChefAliasLoader.defer_to_enterprise(:ChefApply)
|
|
21
|
+
if Kitchen::Provisioner.const_defined?(:ChefApply, false) &&
|
|
22
|
+
!(Kitchen::Provisioner::ChefApply <= Kitchen::Provisioner::CincApply)
|
|
23
|
+
Kitchen::Provisioner.send(:remove_const, :ChefApply)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
module Kitchen
|
|
27
|
+
module Provisioner
|
|
28
|
+
# Alias for CincApply. Lets existing kitchen.yml files using
|
|
29
|
+
# `provisioner: name: chef_apply` transparently use Cinc Apply.
|
|
30
|
+
class ChefApply < CincApply
|
|
31
|
+
kitchen_provisioner_api_version 2
|
|
32
|
+
|
|
33
|
+
plugin_version Kitchen::VERSION
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (C) 2026, Oregon State University
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
require_relative "cinc_infra"
|
|
17
|
+
require_relative "chef_alias_loader"
|
|
18
|
+
|
|
19
|
+
# Priority order for chef_* names: kitchen-chef-enterprise > kitchen-cinc >
|
|
20
|
+
# kitchen-omnibus-chef. If enterprise is installed, defer to it. Users who
|
|
21
|
+
# explicitly want kitchen-cinc should use cinc_infra in kitchen.yml.
|
|
22
|
+
unless Kitchen::Provisioner::ChefAliasLoader.defer_to_enterprise(:ChefInfra)
|
|
23
|
+
# If kitchen-omnibus-chef has already defined Kitchen::Provisioner::ChefInfra
|
|
24
|
+
# with a non-CincInfra parent (i.e. omnibus-chef's gem loaded first), drop
|
|
25
|
+
# the binding before we redefine — otherwise Ruby raises TypeError on
|
|
26
|
+
# superclass mismatch. The two gems coordinate via this swap; see the
|
|
27
|
+
# kitchen-omnibus-chef factory in chef_infra.rb#new for the other side.
|
|
28
|
+
if Kitchen::Provisioner.const_defined?(:ChefInfra, false) &&
|
|
29
|
+
!(Kitchen::Provisioner::ChefInfra <= Kitchen::Provisioner::CincInfra)
|
|
30
|
+
Kitchen::Provisioner.send(:remove_const, :ChefInfra)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
module Kitchen
|
|
34
|
+
module Provisioner
|
|
35
|
+
# Alias for CincInfra. Lets existing kitchen.yml files using
|
|
36
|
+
# `provisioner: name: chef_infra` transparently use Cinc Client.
|
|
37
|
+
class ChefInfra < CincInfra
|
|
38
|
+
kitchen_provisioner_api_version 2
|
|
39
|
+
|
|
40
|
+
plugin_version Kitchen::VERSION
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (C) 2026, Oregon State University
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
require_relative "cinc_solo"
|
|
17
|
+
require_relative "chef_alias_loader"
|
|
18
|
+
|
|
19
|
+
# See chef_infra.rb for the priority and remove_const rationale.
|
|
20
|
+
unless Kitchen::Provisioner::ChefAliasLoader.defer_to_enterprise(:ChefSolo)
|
|
21
|
+
if Kitchen::Provisioner.const_defined?(:ChefSolo, false) &&
|
|
22
|
+
!(Kitchen::Provisioner::ChefSolo <= Kitchen::Provisioner::CincSolo)
|
|
23
|
+
Kitchen::Provisioner.send(:remove_const, :ChefSolo)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
module Kitchen
|
|
27
|
+
module Provisioner
|
|
28
|
+
# Alias for CincSolo. Lets existing kitchen.yml files using
|
|
29
|
+
# `provisioner: name: chef_solo` transparently use Cinc Solo.
|
|
30
|
+
class ChefSolo < CincSolo
|
|
31
|
+
kitchen_provisioner_api_version 2
|
|
32
|
+
|
|
33
|
+
plugin_version Kitchen::VERSION
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (C) 2026, Oregon State University
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
require_relative "cinc_target"
|
|
17
|
+
require_relative "chef_alias_loader"
|
|
18
|
+
|
|
19
|
+
# See chef_infra.rb for the priority and remove_const rationale.
|
|
20
|
+
unless Kitchen::Provisioner::ChefAliasLoader.defer_to_enterprise(:ChefTarget)
|
|
21
|
+
if Kitchen::Provisioner.const_defined?(:ChefTarget, false) &&
|
|
22
|
+
!(Kitchen::Provisioner::ChefTarget <= Kitchen::Provisioner::CincTarget)
|
|
23
|
+
Kitchen::Provisioner.send(:remove_const, :ChefTarget)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
module Kitchen
|
|
27
|
+
module Provisioner
|
|
28
|
+
# Alias for CincTarget. Lets existing kitchen.yml files using
|
|
29
|
+
# `provisioner: name: chef_target` transparently use Cinc Target Mode.
|
|
30
|
+
class ChefTarget < CincTarget
|
|
31
|
+
kitchen_provisioner_api_version 2
|
|
32
|
+
|
|
33
|
+
plugin_version Kitchen::VERSION
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (C) 2026, Oregon State University
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
require_relative "cinc_infra"
|
|
17
|
+
require_relative "chef_alias_loader"
|
|
18
|
+
|
|
19
|
+
# Deprecated alias for ChefInfra (which itself is an alias for CincInfra).
|
|
20
|
+
# Provided for backward compatibility with kitchen.yml files using the
|
|
21
|
+
# legacy chef_zero provisioner name.
|
|
22
|
+
#
|
|
23
|
+
# See chef_infra.rb for the priority and remove_const rationale.
|
|
24
|
+
unless Kitchen::Provisioner::ChefAliasLoader.defer_to_enterprise(:ChefZero)
|
|
25
|
+
if Kitchen::Provisioner.const_defined?(:ChefZero, false) &&
|
|
26
|
+
!(Kitchen::Provisioner::ChefZero <= Kitchen::Provisioner::CincInfra)
|
|
27
|
+
Kitchen::Provisioner.send(:remove_const, :ChefZero)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
module Kitchen
|
|
31
|
+
module Provisioner
|
|
32
|
+
class ChefZero < CincInfra
|
|
33
|
+
kitchen_provisioner_api_version 2
|
|
34
|
+
|
|
35
|
+
plugin_version Kitchen::VERSION
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -132,6 +132,26 @@ module Kitchen
|
|
|
132
132
|
|
|
133
133
|
default_config :checksum
|
|
134
134
|
|
|
135
|
+
# Mapping of deprecated chef_*-prefixed config keys to their cinc_*
|
|
136
|
+
# equivalents. Lets existing kitchen.yml files using the chef_* names
|
|
137
|
+
# keep working when migrating from kitchen-omnibus-chef to kitchen-cinc.
|
|
138
|
+
CHEF_TO_CINC_KEYS = {
|
|
139
|
+
require_chef_omnibus: :require_cinc_omnibus,
|
|
140
|
+
chef_omnibus_url: :cinc_omnibus_url,
|
|
141
|
+
chef_omnibus_install_options: :cinc_omnibus_install_options,
|
|
142
|
+
chef_omnibus_root: :cinc_omnibus_root,
|
|
143
|
+
chef_client_path: :cinc_client_path,
|
|
144
|
+
chef_solo_path: :cinc_solo_path,
|
|
145
|
+
chef_apply_path: :cinc_apply_path,
|
|
146
|
+
chef_zero_host: :cinc_zero_host,
|
|
147
|
+
chef_zero_port: :cinc_zero_port,
|
|
148
|
+
}.freeze
|
|
149
|
+
|
|
150
|
+
CHEF_TO_CINC_KEYS.each do |chef_key, cinc_key|
|
|
151
|
+
deprecate_config_for chef_key,
|
|
152
|
+
"The '#{chef_key}' attribute is deprecated; use '#{cinc_key}' instead."
|
|
153
|
+
end
|
|
154
|
+
|
|
135
155
|
# Reads the local Chef::Config object (if present). We do this because
|
|
136
156
|
# we want to start bringing Cinc config and Cinc Workstation config closer
|
|
137
157
|
# together. For example, we want to configure proxy settings in 1
|
|
@@ -139,6 +159,17 @@ module Kitchen
|
|
|
139
159
|
#
|
|
140
160
|
# @param config [Hash] initial provided configuration
|
|
141
161
|
def initialize(config = {})
|
|
162
|
+
# Forward any chef_*-prefixed keys to their cinc_* equivalents so that
|
|
163
|
+
# the cinc_* default_config blocks see them as already-set and skip
|
|
164
|
+
# their default values. The chef_* key is preserved so that
|
|
165
|
+
# deprecate_config_for can emit a warning via `kitchen doctor`.
|
|
166
|
+
CHEF_TO_CINC_KEYS.each do |chef_key, cinc_key|
|
|
167
|
+
next unless config.key?(chef_key)
|
|
168
|
+
next if config.key?(cinc_key)
|
|
169
|
+
|
|
170
|
+
config[cinc_key] = config[chef_key]
|
|
171
|
+
end
|
|
172
|
+
|
|
142
173
|
super(config)
|
|
143
174
|
|
|
144
175
|
if defined?(ChefConfig::WorkstationConfigLoader)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (C) 2026, Oregon State University
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
# See chef_infra.rb in this directory for the full rationale.
|
|
17
|
+
require "kitchen/provisioner/cinc_apply"
|
|
18
|
+
|
|
19
|
+
if Kitchen::Provisioner.const_defined?(:ChefApply, false) &&
|
|
20
|
+
!(Kitchen::Provisioner::ChefApply <= Kitchen::Provisioner::CincApply)
|
|
21
|
+
Kitchen::Provisioner.send(:remove_const, :ChefApply)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
require_relative "../../kitchen/provisioner/chef_apply"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (C) 2026, Oregon State University
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
# Loaded by kitchen-omnibus-chef's factory pattern when it detects
|
|
17
|
+
# kitchen-cinc is installed. See:
|
|
18
|
+
# https://github.com/test-kitchen/kitchen-omnibus-chef/blob/main/lib/kitchen/provisioner/chef_infra.rb
|
|
19
|
+
#
|
|
20
|
+
# Drops the omnibus-chef ChefInfra binding (if present) so we can rebind to
|
|
21
|
+
# our subclass of CincInfra. The require_relative below resolves to our
|
|
22
|
+
# absolute file path, which is a different $LOADED_FEATURES entry from
|
|
23
|
+
# omnibus-chef's same-logical-named file — so it actually loads even when
|
|
24
|
+
# `require "kitchen/provisioner/chef_infra"` would short-circuit.
|
|
25
|
+
require "kitchen/provisioner/cinc_infra"
|
|
26
|
+
|
|
27
|
+
if Kitchen::Provisioner.const_defined?(:ChefInfra, false) &&
|
|
28
|
+
!(Kitchen::Provisioner::ChefInfra <= Kitchen::Provisioner::CincInfra)
|
|
29
|
+
Kitchen::Provisioner.send(:remove_const, :ChefInfra)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
require_relative "../../kitchen/provisioner/chef_infra"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (C) 2026, Oregon State University
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
# See chef_infra.rb in this directory for the full rationale.
|
|
17
|
+
require "kitchen/provisioner/cinc_solo"
|
|
18
|
+
|
|
19
|
+
if Kitchen::Provisioner.const_defined?(:ChefSolo, false) &&
|
|
20
|
+
!(Kitchen::Provisioner::ChefSolo <= Kitchen::Provisioner::CincSolo)
|
|
21
|
+
Kitchen::Provisioner.send(:remove_const, :ChefSolo)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
require_relative "../../kitchen/provisioner/chef_solo"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (C) 2026, Oregon State University
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
# See chef_infra.rb in this directory for the full rationale.
|
|
17
|
+
require "kitchen/provisioner/cinc_target"
|
|
18
|
+
|
|
19
|
+
if Kitchen::Provisioner.const_defined?(:ChefTarget, false) &&
|
|
20
|
+
!(Kitchen::Provisioner::ChefTarget <= Kitchen::Provisioner::CincTarget)
|
|
21
|
+
Kitchen::Provisioner.send(:remove_const, :ChefTarget)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
require_relative "../../kitchen/provisioner/chef_target"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (C) 2026, Oregon State University
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
# See chef_infra.rb in this directory for the full rationale.
|
|
17
|
+
require "kitchen/provisioner/cinc_infra"
|
|
18
|
+
|
|
19
|
+
if Kitchen::Provisioner.const_defined?(:ChefZero, false) &&
|
|
20
|
+
!(Kitchen::Provisioner::ChefZero <= Kitchen::Provisioner::CincInfra)
|
|
21
|
+
Kitchen::Provisioner.send(:remove_const, :ChefZero)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
require_relative "../../kitchen/provisioner/chef_zero"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kitchen-cinc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Cinc Project
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2026-
|
|
12
|
+
date: 2026-05-19 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: test-kitchen
|
|
@@ -71,6 +71,17 @@ files:
|
|
|
71
71
|
- LICENSE
|
|
72
72
|
- Rakefile
|
|
73
73
|
- kitchen-cinc.gemspec
|
|
74
|
+
- lib/kitchen-cinc/provisioner/chef_apply.rb
|
|
75
|
+
- lib/kitchen-cinc/provisioner/chef_infra.rb
|
|
76
|
+
- lib/kitchen-cinc/provisioner/chef_solo.rb
|
|
77
|
+
- lib/kitchen-cinc/provisioner/chef_target.rb
|
|
78
|
+
- lib/kitchen-cinc/provisioner/chef_zero.rb
|
|
79
|
+
- lib/kitchen/provisioner/chef_alias_loader.rb
|
|
80
|
+
- lib/kitchen/provisioner/chef_apply.rb
|
|
81
|
+
- lib/kitchen/provisioner/chef_infra.rb
|
|
82
|
+
- lib/kitchen/provisioner/chef_solo.rb
|
|
83
|
+
- lib/kitchen/provisioner/chef_target.rb
|
|
84
|
+
- lib/kitchen/provisioner/chef_zero.rb
|
|
74
85
|
- lib/kitchen/provisioner/cinc/berkshelf.rb
|
|
75
86
|
- lib/kitchen/provisioner/cinc/common_sandbox.rb
|
|
76
87
|
- lib/kitchen/provisioner/cinc/policyfile.rb
|