summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2016-09-07 13:34:31 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2016-09-07 13:34:31 -0700
commit4f202e8fa38a5d70c0ad524114751751c54276e8 (patch)
tree08cc6a7758baacac85a5a98b7af5943966b0cec0
parent1825480afd01310980dddf5328a9806037ff3674 (diff)
downloadchef-4f202e8fa38a5d70c0ad524114751751c54276e8.tar.gz
document the bizzare :knife sub-hash situation
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
-rw-r--r--chef-config/lib/chef-config/config.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/chef-config/lib/chef-config/config.rb b/chef-config/lib/chef-config/config.rb
index f46419937a..be5ca2099c 100644
--- a/chef-config/lib/chef-config/config.rb
+++ b/chef-config/lib/chef-config/config.rb
@@ -661,6 +661,20 @@ module ChefConfig
# knife configuration data
config_context :knife do
+ # XXX: none of these default values are applied to knife (and would create a backcompat
+ # break in knife if this bug was fixed since many of the defaults below are wrong). this appears
+ # to be the start of an attempt to be able to use config_strict_mode true? if so, this approach
+ # is fraught with peril because this namespace is used by every knife plugin in the wild and
+ # we would need to validate every cli option in every knife attribute out there and list them all here.
+ #
+ # based on the way that people may define `knife[:foobar] = "something"` for the knife-foobar
+ # gem plugin i'm pretty certain we can never turn on anything like config_string_mode since
+ # any config value may be a typo or it may be in some gem in some knife plugin we don't know about.
+ #
+ # we do still need to maintain at least one of these so that the knife config hash gets
+ # created.
+ #
+ # this whole situation is deeply unsatisfying.
default :ssh_port, nil
default :ssh_user, nil
default :ssh_attribute, nil