chef-config 15.10.12 → 15.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/chef-config.gemspec +1 -2
- data/lib/chef-config/config.rb +5 -32
- data/lib/chef-config/dist.rb +10 -0
- data/lib/chef-config/path_helper.rb +7 -7
- data/lib/chef-config/version.rb +2 -2
- data/spec/unit/config_spec.rb +23 -23
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a013378b4b57ef09bad14181256011b41abd84c3de7ce344f88f70b25c58cfc4
|
4
|
+
data.tar.gz: be3a2645f97a6ac3ca84df00c29c46e4870b08f67be9168c87af469722bfd35d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a74039db8cc1477287a4fdd87528cccb7d8621c177c53b5da0639bf57ec563c0351e84bec14d18f8b8883b8f02f0af52345962d7eaa59409877c9182ff7bb1c0
|
7
|
+
data.tar.gz: bdbf22164e43fef15de190d7da2053a7e7385ad1e0a5d78f60d87ea3161d1b75e408218b2deb745749747417af1f4f7864524af36cbbb5b440ba20e02686829f
|
data/chef-config.gemspec
CHANGED
data/lib/chef-config/config.rb
CHANGED
@@ -359,7 +359,7 @@ module ChefConfig
|
|
359
359
|
#
|
360
360
|
# @param path [String]
|
361
361
|
def self.path_accessible?(path)
|
362
|
-
File.
|
362
|
+
File.exist?(path) && File.readable?(path) && File.writable?(path)
|
363
363
|
end
|
364
364
|
|
365
365
|
# Where cookbook files are stored on the server (by content checksum)
|
@@ -483,7 +483,7 @@ module ChefConfig
|
|
483
483
|
# 11 (true) or Chef Server 12 (false). Chef Zero can still serve
|
484
484
|
# policyfile objects in Chef 11 mode, as long as `repo_mode` is set to
|
485
485
|
# "hosted_everything". The primary differences are:
|
486
|
-
# * Chef 11 mode doesn't support multi-
|
486
|
+
# * Chef 11 mode doesn't support multi-tenant, so there is no
|
487
487
|
# distinction between global and org-specific objects (since there are
|
488
488
|
# no orgs).
|
489
489
|
# * Chef 11 mode doesn't expose RBAC objects
|
@@ -531,7 +531,7 @@ module ChefConfig
|
|
531
531
|
# switching based on it is almost certainly doing the wrong thing and papering over
|
532
532
|
# bugs that should be fixed in one or the other class, and will be brittle and destined
|
533
533
|
# to break in the future (and not necessarily on a major version bump). Checking this value
|
534
|
-
# is also not
|
534
|
+
# is also not sufficient to determine if we are not running against a server since this can
|
535
535
|
# be unset but :local_mode may be set. It would be accurate to check both :solo and :local_mode
|
536
536
|
# to determine if we're not running against a server, but the more semantically accurate test
|
537
537
|
# is going to be combining :solo_legacy_mode and :local_mode.
|
@@ -851,33 +851,6 @@ module ChefConfig
|
|
851
851
|
|
852
852
|
# knife configuration data
|
853
853
|
config_context :knife do
|
854
|
-
# XXX: none of these default values are applied to knife (and would create a backcompat
|
855
|
-
# break in knife if this bug was fixed since many of the defaults below are wrong). this appears
|
856
|
-
# to be the start of an attempt to be able to use config_strict_mode true? if so, this approach
|
857
|
-
# is fraught with peril because this namespace is used by every knife plugin in the wild and
|
858
|
-
# we would need to validate every cli option in every knife attribute out there and list them all here.
|
859
|
-
#
|
860
|
-
# based on the way that people may define `knife[:foobar] = "something"` for the knife-foobar
|
861
|
-
# gem plugin i'm pretty certain we can never turn on anything like config_string_mode since
|
862
|
-
# any config value may be a typo or it may be in some gem in some knife plugin we don't know about.
|
863
|
-
#
|
864
|
-
# we do still need to maintain at least one of these so that the knife config hash gets
|
865
|
-
# created.
|
866
|
-
#
|
867
|
-
# this whole situation is deeply unsatisfying.
|
868
|
-
default :ssh_port, nil
|
869
|
-
default :ssh_user, nil
|
870
|
-
default :ssh_attribute, nil
|
871
|
-
default :ssh_gateway, nil
|
872
|
-
default :ssh_gateway_identity, nil
|
873
|
-
default :bootstrap_version, nil
|
874
|
-
default :bootstrap_proxy, nil
|
875
|
-
default :bootstrap_template, nil
|
876
|
-
default :secret, nil
|
877
|
-
default :secret_file, nil
|
878
|
-
default :host_key_verify, nil
|
879
|
-
default :forward_agent, nil
|
880
|
-
default :sort_status_reverse, nil
|
881
854
|
default :hints, {}
|
882
855
|
end
|
883
856
|
|
@@ -983,7 +956,7 @@ module ChefConfig
|
|
983
956
|
# distribution.
|
984
957
|
#
|
985
958
|
# The disadvantages of lazily loading files are that users some time find it
|
986
|
-
# confusing that their cookbooks are not fully
|
959
|
+
# confusing that their cookbooks are not fully synchronized to the cache initially,
|
987
960
|
# and more importantly the time-sensitive URLs which are in the manifest may time
|
988
961
|
# out on long Chef runs before the resource that uses the file is converged
|
989
962
|
# (leading to many confusing 403 errors on template/cookbook_file resources).
|
@@ -1140,7 +1113,7 @@ module ChefConfig
|
|
1140
1113
|
end
|
1141
1114
|
|
1142
1115
|
# Given a scheme, host, and port, return the correct proxy URI based on the
|
1143
|
-
# set environment variables, unless
|
1116
|
+
# set environment variables, unless excluded by no_proxy, in which case nil
|
1144
1117
|
# is returned
|
1145
1118
|
def self.proxy_uri(scheme, host, port)
|
1146
1119
|
proxy_env_var = ENV["#{scheme}_proxy"].to_s.strip
|
data/lib/chef-config/dist.rb
CHANGED
@@ -19,5 +19,15 @@ module ChefConfig
|
|
19
19
|
# The legacy conf folder: C:/opscode/chef. Specifically the "opscode" part
|
20
20
|
# DIR_SUFFIX is appended to it in code where relevant
|
21
21
|
LEGACY_CONF_DIR = "opscode".freeze
|
22
|
+
|
23
|
+
# Enable forcing Chef EULA
|
24
|
+
ENFORCE_LICENSE = true
|
25
|
+
|
26
|
+
# The servers's alias (chef-server)
|
27
|
+
SERVER = "chef-server".freeze
|
28
|
+
|
29
|
+
# The server's configuration utility
|
30
|
+
SERVER_CTL = "chef-server-ctl".freeze
|
31
|
+
|
22
32
|
end
|
23
33
|
end
|
@@ -130,16 +130,16 @@ module ChefConfig
|
|
130
130
|
end
|
131
131
|
|
132
132
|
# This is the INVERSE of Pathname#cleanpath, it converts forward
|
133
|
-
# slashes to
|
133
|
+
# slashes to backslashes for Windows. Since the Ruby API and the
|
134
134
|
# Windows APIs all consume forward slashes, this helper function
|
135
135
|
# should only be used for *DISPLAY* logic to send strings back
|
136
|
-
# to the user with
|
136
|
+
# to the user with backslashes. Internally, filename paths should
|
137
137
|
# generally be stored with forward slashes for consistency. It is
|
138
138
|
# not necessary or desired to blindly convert pathnames to have
|
139
|
-
#
|
139
|
+
# backslashes on Windows.
|
140
140
|
#
|
141
141
|
# Generally, if the user isn't going to be seeing it, you should be
|
142
|
-
# using Pathname#cleanpath
|
142
|
+
# using Pathname#cleanpath instead of this function.
|
143
143
|
def self.cleanpath(path)
|
144
144
|
path = Pathname.new(path).cleanpath.to_s
|
145
145
|
# ensure all forward slashes are backslashes
|
@@ -265,10 +265,10 @@ module ChefConfig
|
|
265
265
|
end
|
266
266
|
end
|
267
267
|
|
268
|
-
# Determine if the given path is protected by
|
268
|
+
# Determine if the given path is protected by macOS System Integrity Protection.
|
269
269
|
def self.is_sip_path?(path, node)
|
270
270
|
if node["platform"] == "mac_os_x" && Gem::Version.new(node["platform_version"]) >= Gem::Version.new("10.11")
|
271
|
-
|
271
|
+
# @todo: parse rootless.conf for this?
|
272
272
|
sip_paths = [
|
273
273
|
"/System", "/bin", "/sbin", "/usr"
|
274
274
|
]
|
@@ -282,7 +282,7 @@ module ChefConfig
|
|
282
282
|
end
|
283
283
|
end
|
284
284
|
|
285
|
-
# Determine if the given path is on the exception list for
|
285
|
+
# Determine if the given path is on the exception list for macOS System Integrity Protection.
|
286
286
|
def self.writable_sip_path?(path)
|
287
287
|
# todo: parse rootless.conf for this?
|
288
288
|
sip_exceptions = [
|
data/lib/chef-config/version.rb
CHANGED
data/spec/unit/config_spec.rb
CHANGED
@@ -186,29 +186,29 @@ RSpec.describe ChefConfig::Config do
|
|
186
186
|
end
|
187
187
|
|
188
188
|
describe "when configuring formatters" do
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
189
|
+
# if TTY and not(force-logger)
|
190
|
+
# formatter = configured formatter or default formatter
|
191
|
+
# formatter goes to STDOUT/ERR
|
192
|
+
# if log file is writeable
|
193
|
+
# log level is configured level or info
|
194
|
+
# log location is file
|
195
|
+
# else
|
196
|
+
# log level is warn
|
197
|
+
# log location is STDERR
|
198
|
+
# end
|
199
|
+
# elsif not(TTY) and force formatter
|
200
|
+
# formatter = configured formatter or default formatter
|
201
|
+
# if log_location specified
|
202
|
+
# formatter goes to log_location
|
203
|
+
# else
|
204
|
+
# formatter goes to STDOUT/ERR
|
205
|
+
# end
|
206
|
+
# else
|
207
|
+
# formatter = "null"
|
208
|
+
# log_location = configured-value or defualt
|
209
|
+
# log_level = info or defualt
|
210
|
+
# end
|
211
|
+
#
|
212
212
|
it "has an empty list of formatters by default" do
|
213
213
|
expect(ChefConfig::Config.formatters).to eq([])
|
214
214
|
end
|
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.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Jacob
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef-utils
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 15.
|
19
|
+
version: 15.14.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 15.
|
26
|
+
version: 15.14.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: mixlib-shellout
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|