diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2016-09-07 13:34:31 -0700 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2016-09-07 13:34:31 -0700 |
commit | 4f202e8fa38a5d70c0ad524114751751c54276e8 (patch) | |
tree | 08cc6a7758baacac85a5a98b7af5943966b0cec0 | |
parent | 1825480afd01310980dddf5328a9806037ff3674 (diff) | |
download | chef-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.rb | 14 |
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 |