Sha256: e26846a8fbe8b575c8e6879a5ff2392697c9fca473813c421bc45bd138906c8a
Contents?: true
Size: 1.95 KB
Versions: 2
Compression:
Stored size: 1.95 KB
Contents
module Proxy::OpenSCAP class SpoolForwarder include ::Proxy::Log def post_arf_from_spool(arf_dir) Dir.foreach(arf_dir) do |cname| next if cname == '.' || cname == '..' cname_dir = File.join(arf_dir, cname) forward_cname_dir(cname, cname_dir) if File.directory?(cname_dir) end end private def forward_cname_dir(cname, cname_dir) Dir.foreach(cname_dir) do |policy_id| next if policy_id == '.' || policy_id == '..' policy_dir = File.join(cname_dir, policy_id) if File.directory?(policy_dir) forward_policy_dir(cname, policy_id, policy_dir) end end remove(cname_dir) end def forward_policy_dir(cname, policy_id, policy_dir) Dir.foreach(policy_dir) do |date| next if date == '.' || date == '..' date_dir = File.join(policy_dir, date) if File.directory?(date_dir) forward_date_dir(cname, policy_id, date, date_dir) end end remove(policy_dir) end def forward_date_dir(cname, policy_id, date, date_dir) Dir.foreach(date_dir) do |arf| next if arf == '.' || arf == '..' arf_path = File.join(date_dir, arf) if File.file?(arf_path) logger.debug("Uploading #{arf} to Foreman") forward_arf_file(cname, policy_id, date, arf_path) end end remove(date_dir) end def forward_arf_file(cname, policy_id, date, arf_file_path) data = File.open(arf_file_path, 'rb') { |io| io.read } post_to_foreman = ForemanForwarder.new.post_arf_report(cname, policy_id, date, data) Proxy::OpenSCAP::StorageFS.new(Proxy::OpenSCAP::Plugin.settings.reportsdir, cname, post_to_foreman['id'], date).store_archive(data) File.delete arf_file_path end def remove(dir) begin Dir.delete dir rescue StandardError => e logger.error "Could not remove directory: #{e.message}" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
smart_proxy_openscap-0.5.1 | lib/smart_proxy_openscap/spool_forwarder.rb |
smart_proxy_openscap-0.5.0 | lib/smart_proxy_openscap/spool_forwarder.rb |