lib/conjur/command/plugin.rb in conjur-cli-5.1.0 vs lib/conjur/command/plugin.rb in conjur-cli-5.1.1
- old
+ new
@@ -39,11 +39,11 @@
c.action do |_, _, args|
self.assert_empty(args)
Conjur::Config.plugins.each do |p|
begin
gem = Gem::Specification.find_by_name "conjur-asset-#{p}"
- puts "#{p} (#{gem.version})"
+ puts "#{p} (#{gem.version}) - #{gem.summary}"
rescue Gem::LoadError
nil
end
end
end
@@ -119,20 +119,21 @@
modify_plugin_list('remove', name)
end
end
def modify_plugin_list(op, plugin_name)
- config_exists = false
- Conjur::Config.plugin_config_files.each do |f|
- if !File.file?(f)
- FileUtils.touch(f)
- end
+ config_found = false
+ # Check the dedicated plugin config file first
+ (Conjur::Config.plugin_config_files + Conjur::Config.default_config_files).uniq!.each do |f|
+ if File.exists?(f) and not config_found # only write to the first file found
+ config_found = true
+ config = YAML.load(IO.read(f)).stringify_keys rescue {}
+ config['plugins'] ||= []
+ config['plugins'] += [plugin_name] if op == 'add'
+ config['plugins'] -= [plugin_name] if op == 'remove'
+ config['plugins'].uniq!
- config = YAML.load(IO.read(f)).stringify_keys rescue {}
- config['plugins'] ||= []
- config['plugins'] += [plugin_name] if op == 'add'
- config['plugins'] -= [plugin_name] if op == 'remove'
- config['plugins'].uniq!
-
- File.write(f, YAML.dump(config))
+ File.write(f, YAML.dump(config))
+ end
+ exit_now! 'No Conjur config file found for plugin installation' unless config_found
end
end