diff options
author | Pete Higgins <pete@peterhiggins.org> | 2020-11-23 16:31:39 -0800 |
---|---|---|
committer | Pete Higgins <pete@peterhiggins.org> | 2020-12-01 16:12:04 -0800 |
commit | 51e870c3718efeaeb42fa1a31025a5382f2ba413 (patch) | |
tree | 73976627badcaaaf106e395f4accbc8748c79832 /lib | |
parent | 443e647ba564dcfab9abcdb8a9bb2b16c6372b32 (diff) | |
download | chef-51e870c3718efeaeb42fa1a31025a5382f2ba413.tar.gz |
Dynamically load Inspec fetchers at runtime.
Signed-off-by: Pete Higgins <pete@peterhiggins.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/chef/audit/runner.rb | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/chef/audit/runner.rb b/lib/chef/audit/runner.rb index d516376f33..c068dffeb8 100644 --- a/lib/chef/audit/runner.rb +++ b/lib/chef/audit/runner.rb @@ -1,8 +1,6 @@ autoload :Inspec, "inspec" require_relative "default_attributes" -require_relative "fetcher/automate" -require_relative "fetcher/chef_server" require_relative "reporter/audit_enforcer" require_relative "reporter/automate" require_relative "reporter/chef_server_automate" @@ -121,7 +119,22 @@ class Chef end end + def load_fetchers! + case node["audit"]["fetcher"] + when "chef-automate" + require_relative "fetcher/automate" + when "chef-server" + require_relative "fetcher/chef_server" + when nil + # intentionally blank + else + raise "Invalid value specified for audit mode's fetcher: '#{node["audit"]["fetcher"]}'. Valid values are 'chef-automate', 'chef-server', or nil." + end + end + def generate_report(opts: inspec_opts, profiles: inspec_profiles) + load_fetchers! + logger.debug "Options are set to: #{opts}" runner = ::Inspec::Runner.new(opts) |