chef-config 15.1.36 → 15.2.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/chef-config/config.rb +9 -7
- data/lib/chef-config/logger.rb +9 -18
- data/lib/chef-config/mixin/credentials.rb +3 -0
- data/lib/chef-config/mixin/fuzzy_hostname_matcher.rb +1 -1
- data/lib/chef-config/path_helper.rb +1 -1
- data/lib/chef-config/version.rb +1 -1
- data/lib/chef-config/workstation_config_loader.rb +1 -0
- data/spec/unit/config_spec.rb +2 -2
- data/spec/unit/workstation_config_loader_spec.rb +3 -2
- metadata +2 -4
- data/lib/.DS_Store +0 -0
- data/lib/chef-config/.DS_Store +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd822b0956f264dd0eea1108db04d7dbf7b0027a7611281d36c9bcb175f05b76
|
4
|
+
data.tar.gz: a301e799b27cf6f0e2d8a28baa65abf382cd72aab2b3c966a4cd8ff71dad5f5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44f600331b59e426dce352e7e82fd38025df87d980f81cacab529438aae564e2c588794fe4dc1b4d284c0550dea02334277e1b1eb6f6ac2aeef714a787f045c6
|
7
|
+
data.tar.gz: 01a2e003f89b9145669c53a2a5be365440be9567bb750293e737eb723ce4efdcb13e34e83eefa5e70f3e67805e52fb481a1232854675184d843538ef44c895f8
|
data/lib/chef-config/config.rb
CHANGED
@@ -103,6 +103,7 @@ module ChefConfig
|
|
103
103
|
if option.empty? || !option.include?("=")
|
104
104
|
raise UnparsableConfigOption, "Unparsable config option #{option.inspect}"
|
105
105
|
end
|
106
|
+
|
106
107
|
# Split including whitespace if someone does truly odd like
|
107
108
|
# --config-option "foo = bar"
|
108
109
|
key, value = option.split(/\s*=\s*/, 2)
|
@@ -133,7 +134,7 @@ module ChefConfig
|
|
133
134
|
# @return [Boolean] is the URL valid
|
134
135
|
def self.is_valid_url?(uri)
|
135
136
|
url = uri.to_s.strip
|
136
|
-
|
137
|
+
%r{^http://} =~ url || %r{^https://} =~ url || /^chefzero:/ =~ url
|
137
138
|
end
|
138
139
|
|
139
140
|
# Override the config dispatch to set the value of multiple server options simultaneously
|
@@ -144,6 +145,7 @@ module ChefConfig
|
|
144
145
|
unless is_valid_url? uri
|
145
146
|
raise ConfigurationError, "#{uri} is an invalid chef_server_url. The URL must start with http://, https://, or chefzero://."
|
146
147
|
end
|
148
|
+
|
147
149
|
uri.to_s.strip
|
148
150
|
end
|
149
151
|
|
@@ -160,7 +162,7 @@ module ChefConfig
|
|
160
162
|
# etc.) work.
|
161
163
|
default :chef_repo_path do
|
162
164
|
if configuration[:cookbook_path]
|
163
|
-
if configuration[:cookbook_path].
|
165
|
+
if configuration[:cookbook_path].is_a?(String)
|
164
166
|
File.expand_path("..", configuration[:cookbook_path])
|
165
167
|
else
|
166
168
|
configuration[:cookbook_path].map do |path|
|
@@ -192,7 +194,7 @@ module ChefConfig
|
|
192
194
|
|
193
195
|
# @param child_path [String]
|
194
196
|
def self.derive_path_from_chef_repo_path(child_path)
|
195
|
-
if chef_repo_path.
|
197
|
+
if chef_repo_path.is_a?(String)
|
196
198
|
PathHelper.join(chef_repo_path, child_path)
|
197
199
|
else
|
198
200
|
chef_repo_path.uniq.map { |path| PathHelper.join(path, child_path) }
|
@@ -401,7 +403,7 @@ module ChefConfig
|
|
401
403
|
default :repo_mode do
|
402
404
|
if local_mode && !chef_zero.osc_compat
|
403
405
|
"hosted_everything"
|
404
|
-
elsif chef_server_url =~
|
406
|
+
elsif chef_server_url =~ %r{/+organizations/.+}
|
405
407
|
"hosted_everything"
|
406
408
|
else
|
407
409
|
"everything"
|
@@ -457,7 +459,7 @@ module ChefConfig
|
|
457
459
|
default(:chef_server_root) do
|
458
460
|
# if the chef_server_url is a path to an organization, aka
|
459
461
|
# 'some_url.../organizations/*' then remove the '/organization/*' by default
|
460
|
-
if configuration[:chef_server_url] =~
|
462
|
+
if configuration[:chef_server_url] =~ %r{/organizations/\S*$}
|
461
463
|
configuration[:chef_server_url].split("/")[0..-3].join("/")
|
462
464
|
elsif configuration[:chef_server_url] # default to whatever chef_server_url is
|
463
465
|
configuration[:chef_server_url]
|
@@ -1071,8 +1073,8 @@ module ChefConfig
|
|
1071
1073
|
# Check if the proxy string contains a scheme. If not, add the url's scheme to the
|
1072
1074
|
# proxy before parsing. The regex /^.*:\/\// matches, for example, http://. Reusing proxy
|
1073
1075
|
# here since we are really just trying to get the string built correctly.
|
1074
|
-
proxy =
|
1075
|
-
if proxy_env_var =~
|
1076
|
+
proxy = unless proxy_env_var.empty?
|
1077
|
+
if proxy_env_var =~ %r{^.*://}
|
1076
1078
|
URI.parse(proxy_env_var)
|
1077
1079
|
else
|
1078
1080
|
URI.parse("#{scheme}://#{proxy_env_var}")
|
data/lib/chef-config/logger.rb
CHANGED
@@ -21,32 +21,23 @@ module ChefConfig
|
|
21
21
|
# logger for `ChefConfig.logger`
|
22
22
|
class NullLogger
|
23
23
|
|
24
|
-
def <<(_msg)
|
25
|
-
end
|
24
|
+
def <<(_msg); end
|
26
25
|
|
27
|
-
def add(_severity, _message = nil, _progname = nil)
|
28
|
-
end
|
26
|
+
def add(_severity, _message = nil, _progname = nil); end
|
29
27
|
|
30
|
-
def trace(_progname = nil, &block)
|
31
|
-
end
|
28
|
+
def trace(_progname = nil, &block); end
|
32
29
|
|
33
|
-
def debug(_progname = nil, &block)
|
34
|
-
end
|
30
|
+
def debug(_progname = nil, &block); end
|
35
31
|
|
36
|
-
def info(_progname = nil, &block)
|
37
|
-
end
|
32
|
+
def info(_progname = nil, &block); end
|
38
33
|
|
39
|
-
def warn(_progname = nil, &block)
|
40
|
-
end
|
34
|
+
def warn(_progname = nil, &block); end
|
41
35
|
|
42
|
-
def deprecation(_progname = nil, &block)
|
43
|
-
end
|
36
|
+
def deprecation(_progname = nil, &block); end
|
44
37
|
|
45
|
-
def error(_progname = nil, &block)
|
46
|
-
end
|
38
|
+
def error(_progname = nil, &block); end
|
47
39
|
|
48
|
-
def fatal(_progname = nil, &block)
|
49
|
-
end
|
40
|
+
def fatal(_progname = nil, &block); end
|
50
41
|
|
51
42
|
end
|
52
43
|
|
@@ -65,6 +65,7 @@ module ChefConfig
|
|
65
65
|
def parse_credentials_file
|
66
66
|
credentials_file = credentials_file_path
|
67
67
|
return nil unless File.file?(credentials_file)
|
68
|
+
|
68
69
|
begin
|
69
70
|
Tomlrb.load_file(credentials_file)
|
70
71
|
rescue => e
|
@@ -85,10 +86,12 @@ module ChefConfig
|
|
85
86
|
profile = credentials_profile(profile)
|
86
87
|
config = parse_credentials_file
|
87
88
|
return if config.nil? # No credentials, nothing to do here.
|
89
|
+
|
88
90
|
if config[profile].nil?
|
89
91
|
# Unknown profile name. For "default" just silently ignore, otherwise
|
90
92
|
# raise an error.
|
91
93
|
return if profile == "default"
|
94
|
+
|
92
95
|
raise ChefConfig::ConfigurationError, "Profile #{profile} doesn't exist. Please add it to #{credentials_file}."
|
93
96
|
end
|
94
97
|
apply_credentials(config[profile], profile)
|
@@ -32,7 +32,7 @@ module ChefConfig
|
|
32
32
|
|
33
33
|
def fuzzy_hostname_match?(hostname, match)
|
34
34
|
# Do greedy matching by adding wildcard if it is not specified
|
35
|
-
match = "*" + match
|
35
|
+
match = "*" + match unless match.start_with?("*")
|
36
36
|
Fuzzyurl.matches?(Fuzzyurl.mask(hostname: match), hostname)
|
37
37
|
end
|
38
38
|
|
@@ -63,7 +63,7 @@ module ChefConfig
|
|
63
63
|
trailing_slashes = /[#{path_separator_regex}]+$/
|
64
64
|
leading_slashes = /^[#{path_separator_regex}]+/
|
65
65
|
|
66
|
-
args.flatten.inject
|
66
|
+
args.flatten.inject do |joined_path, component|
|
67
67
|
joined_path = joined_path.sub(trailing_slashes, "")
|
68
68
|
component = component.sub(leading_slashes, "")
|
69
69
|
joined_path + "#{path_separator}#{component}"
|
data/lib/chef-config/version.rb
CHANGED
@@ -155,6 +155,7 @@ module ChefConfig
|
|
155
155
|
if creds.key?("node_name") && creds.key?("client_name")
|
156
156
|
raise ChefConfig::ConfigurationError, "Do not specify both node_name and client_name. You should prefer client_name."
|
157
157
|
end
|
158
|
+
|
158
159
|
# Load credentials data into the Chef configuration.
|
159
160
|
creds.each do |key, value|
|
160
161
|
case key.to_s
|
data/spec/unit/config_spec.rb
CHANGED
@@ -195,7 +195,7 @@ RSpec.describe ChefConfig::Config do
|
|
195
195
|
|
196
196
|
[ false, true ].each do |is_windows|
|
197
197
|
|
198
|
-
context "On #{is_windows ?
|
198
|
+
context "On #{is_windows ? "Windows" : "Unix"}" do
|
199
199
|
def to_platform(*args)
|
200
200
|
ChefConfig::Config.platform_specific_path(*args)
|
201
201
|
end
|
@@ -618,7 +618,7 @@ RSpec.describe ChefConfig::Config do
|
|
618
618
|
# On Windows, we'll detect an omnibus build and set this to the
|
619
619
|
# cacert.pem included in the package, but it's nil if you're on Windows
|
620
620
|
# w/o omnibus (e.g., doing development on Windows, custom build, etc.)
|
621
|
-
|
621
|
+
unless is_windows
|
622
622
|
it "ChefConfig::Config[:ssl_ca_file] defaults to nil" do
|
623
623
|
expect(ChefConfig::Config[:ssl_ca_file]).to be_nil
|
624
624
|
end
|
@@ -375,7 +375,8 @@ RSpec.describe ChefConfig::WorkstationConfigLoader do
|
|
375
375
|
before do
|
376
376
|
ChefConfig::Config[:config_d_dir] = tempdir
|
377
377
|
allow(config_loader).to receive(:path_exists?).with(
|
378
|
-
an_instance_of(String)
|
378
|
+
an_instance_of(String)
|
379
|
+
).and_return(false)
|
379
380
|
end
|
380
381
|
|
381
382
|
after do
|
@@ -516,7 +517,7 @@ RSpec.describe ChefConfig::WorkstationConfigLoader do
|
|
516
517
|
-----BEGIN RSA PRIVATE KEY-----
|
517
518
|
foo
|
518
519
|
EOH
|
519
|
-
)
|
520
|
+
)
|
520
521
|
end
|
521
522
|
end
|
522
523
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-config
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 15.
|
4
|
+
version: 15.2.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Jacob
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-shellout
|
@@ -158,9 +158,7 @@ files:
|
|
158
158
|
- LICENSE
|
159
159
|
- Rakefile
|
160
160
|
- chef-config.gemspec
|
161
|
-
- lib/.DS_Store
|
162
161
|
- lib/chef-config.rb
|
163
|
-
- lib/chef-config/.DS_Store
|
164
162
|
- lib/chef-config/config.rb
|
165
163
|
- lib/chef-config/exceptions.rb
|
166
164
|
- lib/chef-config/fips.rb
|
data/lib/.DS_Store
DELETED
Binary file
|
data/lib/chef-config/.DS_Store
DELETED
Binary file
|