cheffish 14.0.4 → 14.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/cheffish.gemspec +3 -3
- data/lib/chef/resource/chef_acl.rb +6 -6
- data/lib/chef/resource/chef_client.rb +4 -4
- data/lib/chef/resource/chef_container.rb +2 -2
- data/lib/chef/resource/chef_data_bag.rb +2 -2
- data/lib/chef/resource/chef_data_bag_item.rb +3 -3
- data/lib/chef/resource/chef_environment.rb +2 -2
- data/lib/chef/resource/chef_group.rb +2 -2
- data/lib/chef/resource/chef_mirror.rb +7 -7
- data/lib/chef/resource/chef_node.rb +3 -3
- data/lib/chef/resource/chef_organization.rb +2 -2
- data/lib/chef/resource/chef_resolved_cookbooks.rb +1 -1
- data/lib/chef/resource/chef_role.rb +2 -2
- data/lib/chef/resource/chef_user.rb +4 -4
- data/lib/chef/resource/private_key.rb +3 -3
- data/lib/chef/resource/public_key.rb +2 -2
- data/lib/cheffish.rb +5 -5
- data/lib/cheffish/base_properties.rb +3 -4
- data/lib/cheffish/base_resource.rb +1 -1
- data/lib/cheffish/basic_chef_client.rb +1 -1
- data/lib/cheffish/chef_actor_base.rb +2 -2
- data/lib/cheffish/chef_run.rb +1 -1
- data/lib/cheffish/chef_run_data.rb +1 -1
- data/lib/cheffish/merged_config.rb +4 -0
- data/lib/cheffish/node_properties.rb +1 -1
- data/lib/cheffish/recipe_dsl.rb +19 -34
- data/lib/cheffish/rspec.rb +3 -3
- data/lib/cheffish/rspec/chef_run_support.rb +4 -4
- data/lib/cheffish/rspec/matchers.rb +4 -4
- data/lib/cheffish/rspec/recipe_run_wrapper.rb +1 -1
- data/lib/cheffish/version.rb +1 -1
- data/spec/functional/fingerprint_spec.rb +1 -1
- data/spec/functional/merged_config_spec.rb +9 -0
- data/spec/integration/chef_group_spec.rb +39 -39
- data/spec/integration/chef_node_spec.rb +4 -4
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fa7eb898e80ca43f014fe27f3366f6275a3b6e2ebbc1be28eb49085d492dfb0
|
4
|
+
data.tar.gz: b34eb3387c508db86d2aa31007462db83245f921cebe65e6e4a84203f5d49d97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 307bc86092ac438c549016bfdc11197208cdf632e7e27cae0a69bf671d6053ad420eb87fe377807c203d078818018df343eb3a960109eff9becae451de300165
|
7
|
+
data.tar.gz: 0db75dca4ffd1ee075afcdceac2bb4b0f5d59a3685f51b022e62a8026bbf3316f262a5a650436602175aad60dd6c72ae3cd6084df2023e2df3bd745528c5d2ee
|
data/cheffish.gemspec
CHANGED
@@ -6,10 +6,10 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.version = Cheffish::VERSION
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
8
|
s.license = "Apache-2.0"
|
9
|
-
s.summary = "A
|
9
|
+
s.summary = "A set of Chef resources for configuring Chef."
|
10
10
|
s.description = s.summary
|
11
|
-
s.author = "
|
12
|
-
s.email = "
|
11
|
+
s.author = "Chef Software Inc."
|
12
|
+
s.email = "oss@chef.io"
|
13
13
|
s.homepage = "https://github.com/chef/cheffish"
|
14
14
|
|
15
15
|
s.required_ruby_version = ">= 2.4.0"
|
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require_relative "../../cheffish"
|
2
|
+
require_relative "../../cheffish/base_resource"
|
3
3
|
require "chef/chef_fs/data_handler/acl_data_handler"
|
4
4
|
require "chef/chef_fs/parallelizer"
|
5
5
|
require "uri"
|
@@ -144,10 +144,10 @@ class Chef
|
|
144
144
|
if !@current_acls.key?(acl_path)
|
145
145
|
@current_acls[acl_path] = begin
|
146
146
|
rest.get(rest_url(acl_path))
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
147
|
+
rescue Net::HTTPServerException => e
|
148
|
+
unless e.response.code == "404" && new_resource.path.split("/").any? { |p| p == "*" }
|
149
|
+
raise
|
150
|
+
end
|
151
151
|
end
|
152
152
|
end
|
153
153
|
@current_acls[acl_path]
|
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require_relative "../../cheffish"
|
2
|
+
require_relative "../../cheffish/chef_actor_base"
|
3
3
|
|
4
4
|
class Chef
|
5
5
|
class Resource
|
@@ -8,8 +8,8 @@ class Chef
|
|
8
8
|
|
9
9
|
# Client attributes
|
10
10
|
property :chef_client_name, Cheffish::NAME_REGEX, name_property: true
|
11
|
-
property :admin,
|
12
|
-
property :validator,
|
11
|
+
property :admin, [TrueClass, FalseClass]
|
12
|
+
property :validator, [TrueClass, FalseClass]
|
13
13
|
|
14
14
|
# Input key
|
15
15
|
property :source_key # String or OpenSSL::PKey::*
|
@@ -1,6 +1,6 @@
|
|
1
|
-
|
1
|
+
require_relative "../../cheffish"
|
2
2
|
require "chef/config"
|
3
|
-
|
3
|
+
require_relative "../../cheffish/base_resource"
|
4
4
|
require "chef/chef_fs/data_handler/data_bag_item_data_handler"
|
5
5
|
require "chef/encrypted_data_bag_item"
|
6
6
|
|
@@ -37,7 +37,7 @@ class Chef
|
|
37
37
|
property :raw_data, Hash
|
38
38
|
|
39
39
|
# If secret or secret_path are set, encrypt is assumed true. encrypt exists mainly for with_secret and with_secret_path
|
40
|
-
property :encrypt,
|
40
|
+
property :encrypt, [TrueClass, FalseClass], default: lazy {
|
41
41
|
if secret.nil? && secret_path.nil?
|
42
42
|
false
|
43
43
|
else
|
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require_relative "../../cheffish"
|
2
|
+
require_relative "../../cheffish/base_resource"
|
3
3
|
require "chef/chef_fs/file_pattern"
|
4
4
|
require "chef/chef_fs/file_system"
|
5
5
|
require "chef/chef_fs/parallelizer"
|
@@ -25,15 +25,15 @@ class Chef
|
|
25
25
|
# Whether the repo path should contain cookbooks with versioned names,
|
26
26
|
# i.e. cookbooks/mysql-1.0.0, cookbooks/mysql-1.2.0, etc.
|
27
27
|
# Defaults to true if chef_repo_path is specified, or to Chef::Config.versioned_cookbooks otherwise.
|
28
|
-
property :versioned_cookbooks,
|
28
|
+
property :versioned_cookbooks, [TrueClass, FalseClass]
|
29
29
|
|
30
30
|
# Whether to purge deleted things: if we do not have cookbooks/x locally and we
|
31
31
|
# *do* have cookbooks/x remotely, then :upload with purge will delete it.
|
32
32
|
# Defaults to false.
|
33
|
-
property :purge,
|
33
|
+
property :purge, [TrueClass, FalseClass]
|
34
34
|
|
35
35
|
# Whether to freeze cookbooks on upload
|
36
|
-
property :freeze_on_upload,
|
36
|
+
property :freeze_on_upload, [TrueClass, FalseClass]
|
37
37
|
|
38
38
|
# `freeze` is an already-existing instance method on Object, so we can't use it or we'll throw
|
39
39
|
# a deprecation warning. `freeze` has been renamed to `freeze_on_upload` and this method
|
@@ -45,13 +45,13 @@ class Chef
|
|
45
45
|
set_or_return(
|
46
46
|
:freeze_on_upload,
|
47
47
|
arg,
|
48
|
-
kind_of:
|
48
|
+
kind_of: [TrueClass, FalseClass]
|
49
49
|
)
|
50
50
|
end
|
51
51
|
|
52
52
|
# If this is true, only new files will be copied. File contents will not be
|
53
53
|
# diffed, so changed files will never be uploaded.
|
54
|
-
property :no_diff,
|
54
|
+
property :no_diff, [TrueClass, FalseClass]
|
55
55
|
|
56
56
|
# Number of parallel threads to list/upload/download with. Defaults to 10.
|
57
57
|
property :concurrency, Integer, default: 10, desired_state: false
|
@@ -1,7 +1,7 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require_relative "../../cheffish"
|
2
|
+
require_relative "../../cheffish/base_resource"
|
3
3
|
require "chef/chef_fs/data_handler/node_data_handler"
|
4
|
-
|
4
|
+
require_relative "../../cheffish/node_properties"
|
5
5
|
|
6
6
|
class Chef
|
7
7
|
class Resource
|
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require_relative "../../cheffish"
|
2
|
+
require_relative "../../cheffish/chef_actor_base"
|
3
3
|
|
4
4
|
class Chef
|
5
5
|
class Resource
|
@@ -9,10 +9,10 @@ class Chef
|
|
9
9
|
# Client attributes
|
10
10
|
property :user_name, Cheffish::NAME_REGEX, name_property: true
|
11
11
|
property :display_name, String
|
12
|
-
property :admin,
|
12
|
+
property :admin, [TrueClass, FalseClass]
|
13
13
|
property :email, String
|
14
14
|
property :external_authentication_uid
|
15
|
-
property :recovery_authentication_enabled,
|
15
|
+
property :recovery_authentication_enabled, [TrueClass, FalseClass]
|
16
16
|
property :password, String # Hmm. There is no way to idempotentize this.
|
17
17
|
# property :salt # TODO server doesn't support sending or receiving these, but it's the only way to backup / restore a user
|
18
18
|
# property :hashed_password
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require "openssl/cipher"
|
2
|
-
|
2
|
+
require_relative "../../cheffish/base_resource"
|
3
3
|
require "openssl"
|
4
|
-
|
4
|
+
require_relative "../../cheffish/key_formatter"
|
5
5
|
|
6
6
|
class Chef
|
7
7
|
class Resource
|
@@ -34,7 +34,7 @@ class Chef
|
|
34
34
|
property :cipher, String, equal_to: OpenSSL::Cipher.ciphers.map { |x| x.downcase }, default: "des-ede3-cbc", coerce: proc { |x| x.downcase }
|
35
35
|
|
36
36
|
# Set this to regenerate the key if it does not have the desired characteristics (like size, type, etc.)
|
37
|
-
property :regenerate_if_different,
|
37
|
+
property :regenerate_if_different, [TrueClass, FalseClass]
|
38
38
|
|
39
39
|
# Proc that runs after the resource completes. Called with (resource, private_key)
|
40
40
|
def after(&block)
|
data/lib/cheffish.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Cheffish
|
2
|
-
NAME_REGEX = /^[.\-[:alnum:]_]
|
2
|
+
NAME_REGEX = /^[.\-[:alnum:]_]+$/.freeze
|
3
3
|
|
4
4
|
def self.inline_resource(provider, provider_action, *resources, &block)
|
5
5
|
BasicChefClient.inline_resource(provider, provider_action, *resources, &block)
|
@@ -121,11 +121,11 @@ end
|
|
121
121
|
# Include all recipe objects so require 'cheffish' brings in the whole recipe DSL
|
122
122
|
|
123
123
|
require "chef/run_list/run_list_item"
|
124
|
-
|
125
|
-
|
124
|
+
require_relative "cheffish/basic_chef_client"
|
125
|
+
require_relative "cheffish/server_api"
|
126
126
|
require "chef/knife"
|
127
127
|
require "chef/config_fetcher"
|
128
128
|
require "chef/log"
|
129
129
|
require "chef/application"
|
130
|
-
|
131
|
-
|
130
|
+
require_relative "cheffish/recipe_dsl"
|
131
|
+
require_relative "cheffish/node_properties"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require "chef/mixin/properties"
|
2
|
-
|
3
|
-
|
2
|
+
require_relative "array_property"
|
3
|
+
require_relative "../cheffish"
|
4
4
|
|
5
5
|
module Cheffish
|
6
6
|
module BaseProperties
|
@@ -11,11 +11,10 @@ module Cheffish
|
|
11
11
|
chef_server run_context.cheffish.current_chef_server
|
12
12
|
end
|
13
13
|
|
14
|
-
Boolean = property_type(is: [ true, false ])
|
15
14
|
ArrayType = ArrayProperty.new
|
16
15
|
|
17
16
|
property :chef_server, Hash
|
18
17
|
property :raw_json, Hash
|
19
|
-
property :complete,
|
18
|
+
property :complete, [TrueClass, FalseClass]
|
20
19
|
end
|
21
20
|
end
|
data/lib/cheffish/chef_run.rb
CHANGED
data/lib/cheffish/recipe_dsl.rb
CHANGED
@@ -1,29 +1,30 @@
|
|
1
|
-
|
1
|
+
require_relative "../cheffish"
|
2
2
|
|
3
3
|
require "chef/version"
|
4
4
|
require "chef_zero/server"
|
5
5
|
require "chef/chef_fs/chef_fs_data_store"
|
6
6
|
require "chef/chef_fs/config"
|
7
|
-
|
8
|
-
|
7
|
+
require_relative "chef_run_data"
|
8
|
+
require_relative "chef_run_listener"
|
9
9
|
require "chef/client"
|
10
10
|
require "chef/config"
|
11
11
|
require "chef_zero/version"
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
12
|
+
require_relative "merged_config"
|
13
|
+
require_relative "../chef/resource/chef_acl"
|
14
|
+
require_relative "../chef/resource/chef_client"
|
15
|
+
require_relative "../chef/resource/chef_container"
|
16
|
+
require_relative "../chef/resource/chef_data_bag"
|
17
|
+
require_relative "../chef/resource/chef_data_bag_item"
|
18
|
+
require_relative "../chef/resource/chef_environment"
|
19
|
+
require_relative "../chef/resource/chef_group"
|
20
|
+
require_relative "../chef/resource/chef_mirror"
|
21
|
+
require_relative "../chef/resource/chef_node"
|
22
|
+
require_relative "../chef/resource/chef_organization"
|
23
|
+
require_relative "../chef/resource/chef_role"
|
24
|
+
require_relative "../chef/resource/chef_user"
|
25
|
+
require_relative "../chef/resource/private_key"
|
26
|
+
require_relative "../chef/resource/public_key"
|
27
|
+
require "chef/util/path_helper"
|
27
28
|
|
28
29
|
class Chef
|
29
30
|
module DSL
|
@@ -124,19 +125,3 @@ class Chef
|
|
124
125
|
end
|
125
126
|
|
126
127
|
end
|
127
|
-
|
128
|
-
# Chef 12 moved Chef::Config.path_join to PathHelper.join
|
129
|
-
if Chef::VERSION.to_i >= 12
|
130
|
-
require "chef/util/path_helper"
|
131
|
-
else
|
132
|
-
require "chef/config"
|
133
|
-
class Chef
|
134
|
-
class Util
|
135
|
-
class PathHelper
|
136
|
-
def self.join(*args)
|
137
|
-
Chef::Config.path_join(*args)
|
138
|
-
end
|
139
|
-
end
|
140
|
-
end
|
141
|
-
end
|
142
|
-
end
|
data/lib/cheffish/rspec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
require_relative "rspec/chef_run_support"
|
2
|
+
require_relative "rspec/repository_support"
|
3
|
+
require_relative "rspec/matchers"
|
4
4
|
|
5
5
|
module Cheffish
|
6
6
|
module RSpec
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require "chef_zero/rspec"
|
2
2
|
require "chef/server_api"
|
3
|
-
|
3
|
+
require_relative "repository_support"
|
4
4
|
require "uri"
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
require_relative "../chef_run"
|
6
|
+
require_relative "recipe_run_wrapper"
|
7
|
+
require_relative "matchers"
|
8
8
|
|
9
9
|
module Cheffish
|
10
10
|
module RSpec
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
require_relative "matchers/have_updated"
|
2
|
+
require_relative "matchers/be_idempotent"
|
3
|
+
require_relative "matchers/partially_match"
|
4
|
+
require_relative "matchers/emit_no_warnings_or_errors"
|
data/lib/cheffish/version.rb
CHANGED
@@ -29,7 +29,7 @@ describe "Cheffish fingerprint key formatter" do
|
|
29
29
|
rxs0NeNqGdrzmyAPN35OHXYclPwfp+DbtbJHgGMRc/9VFPqW9PeTKjIByeEsXyrcdreR35AR/fwR
|
30
30
|
AUcSSKTvw+PobCpXhdkiw4TgJhFNuZnoC63FOjNqA5mu1ICZYBb4ZVlgUAgSmDQxSIgK
|
31
31
|
-----END RSA PRIVATE KEY-----
|
32
|
-
EOF
|
32
|
+
EOF
|
33
33
|
sample_public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCab6TEOzKMPQTB+8BJhTkhi2co5BzTX20n1JHvcF8LIIPcGsl32hn1S6grBEdz8gZn6WJ8VDq7O0G2655DGMo8aPSHu9Dxye6poxAbfR0YCYPFRArEGD546eJW+mh9iqxjshYXpLArNb9eMHo7dpYaFs2Ek+kjU2s0zCstqNRSINV+8iQ7CBtVW4Tx2greDolsKqlpEbQUMLWer3Xb/7fqp8Wzpoby1Hok47fxrLCET4Si/txjZgrjZrgAzZRICT1rHZZQPrt4B7SCV+FsPYp8mozF3WMRaqZzvZ4JdU3gk1hIbnQ+NMajZC7rZLIgjvyW3zkVFXJVenVji9BZwhpV"
|
34
34
|
|
35
35
|
def key_to_format(key, format)
|
@@ -31,6 +31,10 @@ describe "merged_config" do
|
|
31
31
|
Cheffish::MergedConfig.new(c1, mc)
|
32
32
|
end
|
33
33
|
|
34
|
+
let(:empty_config) do
|
35
|
+
Cheffish::MergedConfig.new
|
36
|
+
end
|
37
|
+
|
34
38
|
it "returns value in config" do
|
35
39
|
expect(config.test).to eq("val")
|
36
40
|
end
|
@@ -68,4 +72,9 @@ describe "merged_config" do
|
|
68
72
|
it "supports nested merged configs" do
|
69
73
|
expect(nested_config[:test].keys).to eq(%w{test test2})
|
70
74
|
end
|
75
|
+
|
76
|
+
it "supports empty?" do
|
77
|
+
expect(empty_config.empty?).to eq true
|
78
|
+
expect(nested_config.empty?).to eq false
|
79
|
+
end
|
71
80
|
end
|
@@ -24,9 +24,9 @@ describe Chef::Resource::ChefGroup do
|
|
24
24
|
"name" => "x",
|
25
25
|
"groupname" => "x",
|
26
26
|
"orgname" => "foo",
|
27
|
-
"actors"
|
28
|
-
"groups"
|
29
|
-
"users"
|
27
|
+
"actors" => [],
|
28
|
+
"groups" => [],
|
29
|
+
"users" => [],
|
30
30
|
"clients" => [],
|
31
31
|
})
|
32
32
|
end
|
@@ -52,9 +52,9 @@ describe Chef::Resource::ChefGroup do
|
|
52
52
|
"name" => "x",
|
53
53
|
"groupname" => "x",
|
54
54
|
"orgname" => "foo",
|
55
|
-
"actors"
|
56
|
-
"groups"
|
57
|
-
"users"
|
55
|
+
"actors" => %w{c u},
|
56
|
+
"groups" => %w{g},
|
57
|
+
"users" => %w{u},
|
58
58
|
"clients" => %w{c},
|
59
59
|
})
|
60
60
|
end
|
@@ -88,9 +88,9 @@ describe Chef::Resource::ChefGroup do
|
|
88
88
|
"name" => "x",
|
89
89
|
"groupname" => "x",
|
90
90
|
"orgname" => "foo",
|
91
|
-
"actors"
|
92
|
-
"groups"
|
93
|
-
"users"
|
91
|
+
"actors" => %w{c c2 u u2},
|
92
|
+
"groups" => %w{g g2},
|
93
|
+
"users" => %w{u u2},
|
94
94
|
"clients" => %w{c c2},
|
95
95
|
})
|
96
96
|
end
|
@@ -116,9 +116,9 @@ describe Chef::Resource::ChefGroup do
|
|
116
116
|
"name" => "x",
|
117
117
|
"groupname" => "x",
|
118
118
|
"orgname" => "foo",
|
119
|
-
"actors"
|
120
|
-
"groups"
|
121
|
-
"users"
|
119
|
+
"actors" => %w{c c2 u u2},
|
120
|
+
"groups" => %w{g g2},
|
121
|
+
"users" => %w{u u2},
|
122
122
|
"clients" => %w{c c2},
|
123
123
|
})
|
124
124
|
end
|
@@ -135,9 +135,9 @@ describe Chef::Resource::ChefGroup do
|
|
135
135
|
"name" => "x",
|
136
136
|
"groupname" => "x",
|
137
137
|
"orgname" => "foo",
|
138
|
-
"actors"
|
139
|
-
"groups"
|
140
|
-
"users"
|
138
|
+
"actors" => %w{c c2 c3 u u2 u3},
|
139
|
+
"groups" => %w{g g2 g3},
|
140
|
+
"users" => %w{u u2 u3},
|
141
141
|
"clients" => %w{c c2 c3},
|
142
142
|
})
|
143
143
|
end
|
@@ -154,9 +154,9 @@ describe Chef::Resource::ChefGroup do
|
|
154
154
|
"name" => "x",
|
155
155
|
"groupname" => "x",
|
156
156
|
"orgname" => "foo",
|
157
|
-
"actors"
|
158
|
-
"groups"
|
159
|
-
"users"
|
157
|
+
"actors" => %w{c c2 c3 c4 u u2 u3 u4},
|
158
|
+
"groups" => %w{g g2 g3 g4},
|
159
|
+
"users" => %w{u u2 u3 u4},
|
160
160
|
"clients" => %w{c c2 c3 c4},
|
161
161
|
})
|
162
162
|
end
|
@@ -173,9 +173,9 @@ describe Chef::Resource::ChefGroup do
|
|
173
173
|
"name" => "x",
|
174
174
|
"groupname" => "x",
|
175
175
|
"orgname" => "foo",
|
176
|
-
"actors"
|
177
|
-
"groups"
|
178
|
-
"users"
|
176
|
+
"actors" => %w{c c2 c3 c4 u u2 u3 u4},
|
177
|
+
"groups" => %w{g g2 g3 g4},
|
178
|
+
"users" => %w{u u2 u3 u4},
|
179
179
|
"clients" => %w{c c2 c3 c4},
|
180
180
|
})
|
181
181
|
end
|
@@ -195,9 +195,9 @@ describe Chef::Resource::ChefGroup do
|
|
195
195
|
"name" => "x",
|
196
196
|
"groupname" => "x",
|
197
197
|
"orgname" => "foo",
|
198
|
-
"actors"
|
199
|
-
"groups"
|
200
|
-
"users"
|
198
|
+
"actors" => %w{c c2 c3 c4 u u2 u3 u4},
|
199
|
+
"groups" => %w{g g2 g3 g4},
|
200
|
+
"users" => %w{u u2 u3 u4},
|
201
201
|
"clients" => %w{c c2 c3 c4},
|
202
202
|
})
|
203
203
|
end
|
@@ -214,9 +214,9 @@ describe Chef::Resource::ChefGroup do
|
|
214
214
|
"name" => "x",
|
215
215
|
"groupname" => "x",
|
216
216
|
"orgname" => "foo",
|
217
|
-
"actors"
|
218
|
-
"groups"
|
219
|
-
"users"
|
217
|
+
"actors" => %w{c u},
|
218
|
+
"groups" => %w{g},
|
219
|
+
"users" => %w{u},
|
220
220
|
"clients" => %w{c},
|
221
221
|
})
|
222
222
|
end
|
@@ -233,9 +233,9 @@ describe Chef::Resource::ChefGroup do
|
|
233
233
|
"name" => "x",
|
234
234
|
"groupname" => "x",
|
235
235
|
"orgname" => "foo",
|
236
|
-
"actors"
|
237
|
-
"groups"
|
238
|
-
"users"
|
236
|
+
"actors" => [],
|
237
|
+
"groups" => [],
|
238
|
+
"users" => [],
|
239
239
|
"clients" => [],
|
240
240
|
})
|
241
241
|
end
|
@@ -252,9 +252,9 @@ describe Chef::Resource::ChefGroup do
|
|
252
252
|
"name" => "x",
|
253
253
|
"groupname" => "x",
|
254
254
|
"orgname" => "foo",
|
255
|
-
"actors"
|
256
|
-
"groups"
|
257
|
-
"users"
|
255
|
+
"actors" => [],
|
256
|
+
"groups" => [],
|
257
|
+
"users" => [],
|
258
258
|
"clients" => [],
|
259
259
|
})
|
260
260
|
end
|
@@ -274,9 +274,9 @@ describe Chef::Resource::ChefGroup do
|
|
274
274
|
"name" => "x",
|
275
275
|
"groupname" => "x",
|
276
276
|
"orgname" => "foo",
|
277
|
-
"actors"
|
278
|
-
"groups"
|
279
|
-
"users"
|
277
|
+
"actors" => [],
|
278
|
+
"groups" => [],
|
279
|
+
"users" => [],
|
280
280
|
"clients" => [],
|
281
281
|
})
|
282
282
|
end
|
@@ -296,9 +296,9 @@ describe Chef::Resource::ChefGroup do
|
|
296
296
|
"name" => "x",
|
297
297
|
"groupname" => "x",
|
298
298
|
"orgname" => "foo",
|
299
|
-
"actors"
|
300
|
-
"groups"
|
301
|
-
"users"
|
299
|
+
"actors" => %w{c2 c3 u2 u3},
|
300
|
+
"groups" => %w{g2 g3},
|
301
|
+
"users" => %w{u2 u3},
|
302
302
|
"clients" => %w{c2 c3},
|
303
303
|
})
|
304
304
|
end
|
@@ -104,11 +104,11 @@ describe Chef::Resource::ChefNode do
|
|
104
104
|
context 'when the Chef server has a node named "blah" with everything in it' do
|
105
105
|
node "blah", {
|
106
106
|
"chef_environment" => "blah",
|
107
|
-
"run_list"
|
108
|
-
"normal"
|
109
|
-
"default"
|
107
|
+
"run_list" => [ "recipe[bjork]" ],
|
108
|
+
"normal" => { "foo" => "bar", "tags" => %w{a b} },
|
109
|
+
"default" => { "foo2" => "bar2" },
|
110
110
|
"automatic" => { "foo3" => "bar3" },
|
111
|
-
"override"
|
111
|
+
"override" => { "foo4" => "bar4" },
|
112
112
|
}
|
113
113
|
|
114
114
|
it "chef_node with no attributes modifies nothing" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cheffish
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 14.0.
|
4
|
+
version: 14.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Chef Software Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef-zero
|
@@ -38,8 +38,8 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
-
description: A
|
42
|
-
email:
|
41
|
+
description: A set of Chef resources for configuring Chef.
|
42
|
+
email: oss@chef.io
|
43
43
|
executables: []
|
44
44
|
extensions: []
|
45
45
|
extra_rdoc_files: []
|
@@ -127,9 +127,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
127
|
- !ruby/object:Gem::Version
|
128
128
|
version: '0'
|
129
129
|
requirements: []
|
130
|
-
|
131
|
-
rubygems_version: 2.7.6
|
130
|
+
rubygems_version: 3.0.3
|
132
131
|
signing_key:
|
133
132
|
specification_version: 4
|
134
|
-
summary: A
|
133
|
+
summary: A set of Chef resources for configuring Chef.
|
135
134
|
test_files: []
|