chef-config 15.10.12 → 15.14.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/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
|