foreman_openscap 0.5.3 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +7 -7
  2. data/app/assets/javascripts/foreman_openscap/policy_edit.js +2 -2
  3. data/app/controllers/api/v2/compliance/arf_reports_controller.rb +3 -9
  4. data/app/controllers/api/v2/compliance/policies_controller.rb +3 -9
  5. data/app/controllers/api/v2/compliance/scap_contents_controller.rb +18 -10
  6. data/app/controllers/arf_reports_controller.rb +5 -5
  7. data/app/controllers/policies_controller.rb +2 -2
  8. data/app/helpers/concerns/foreman_openscap/lookup_keys_helper_extensions.rb +14 -0
  9. data/app/helpers/dashboard_helper.rb +26 -0
  10. data/app/lib/proxy_api/available_proxy.rb +20 -2
  11. data/app/lib/proxy_api/migration.rb +13 -0
  12. data/app/lib/proxy_api/openscap.rb +2 -2
  13. data/app/mailers/foreman_openscap/policy_mailer.rb +1 -1
  14. data/app/models/concerns/foreman_openscap/compliance_status_scoped_search.rb +1 -1
  15. data/app/models/concerns/foreman_openscap/host_extensions.rb +1 -1
  16. data/app/models/concerns/foreman_openscap/log_extensions.rb +10 -0
  17. data/app/models/concerns/foreman_openscap/openscap_proxy_core_extensions.rb +29 -9
  18. data/app/models/concerns/foreman_openscap/openscap_proxy_extensions.rb +1 -1
  19. data/app/models/foreman_openscap/arf_report.rb +2 -4
  20. data/app/models/foreman_openscap/policy.rb +3 -3
  21. data/app/models/foreman_openscap/scap_content.rb +7 -6
  22. data/app/services/foreman_openscap/report_dashboard/data.rb +1 -1
  23. data/app/views/api/v2/compliance/arf_reports/base.json.rabl +4 -1
  24. data/app/views/api/v2/compliance/arf_reports/main.json.rabl +5 -1
  25. data/app/views/api/v2/compliance/common/_loc.json.rabl +3 -0
  26. data/app/views/api/v2/compliance/common/_org.json.rabl +3 -0
  27. data/app/views/api/v2/compliance/policies/base.json.rabl +4 -1
  28. data/app/views/api/v2/compliance/scap_contents/base.json.rabl +4 -1
  29. data/app/views/api/v2/compliance/scap_contents/show.json.rabl +7 -1
  30. data/app/views/arf_reports/_list.html.erb +7 -1
  31. data/app/views/arf_reports/delete_multiple.html.erb +1 -1
  32. data/app/views/arf_reports/show.html.erb +1 -1
  33. data/app/views/compliance_hosts/_openscap_proxy.html.erb +1 -6
  34. data/app/views/compliance_hosts/show.html.erb +1 -1
  35. data/app/views/dashboard/_compliance_host_reports_widget.html.erb +2 -6
  36. data/app/views/foreman_openscap/policy_mailer/policy_summary.erb +1 -1
  37. data/app/views/policies/_form.html.erb +1 -1
  38. data/app/views/policies/welcome.html.erb +7 -6
  39. data/app/views/scap_contents/welcome.html.erb +1 -1
  40. data/config/routes.rb +5 -1
  41. data/db/migrate/20150821100137_migrate_from_scaptimony.rb +7 -6
  42. data/db/migrate/20150929152345_move_arf_reports_to_reports_table.rb +0 -97
  43. data/db/migrate/20151120090851_add_openscap_proxy_to_host_and_hostgroup.rb +0 -12
  44. data/db/seeds.d/openscap_policy_notification.rb +1 -1
  45. data/lib/foreman_openscap/bulk_upload.rb +1 -0
  46. data/lib/foreman_openscap/data_migration.rb +82 -0
  47. data/lib/foreman_openscap/engine.rb +5 -6
  48. data/lib/foreman_openscap/version.rb +1 -1
  49. data/lib/tasks/foreman_openscap_tasks.rake +14 -0
  50. data/test/factories/arf_report_factory.rb +1 -0
  51. data/test/factories/compliance_host_factory.rb +11 -1
  52. data/test/functional/api/v2/compliance/arf_reports_controller_test.rb +3 -1
  53. data/test/test_plugin_helper.rb +23 -2
  54. data/test/unit/scap_content_test.rb +1 -1
  55. data/test/unit/services/report_dashboard/data_test.rb +25 -0
  56. metadata +202 -194
  57. data/app/assets/javascripts/foreman_openscap/openscap_proxy.js +0 -52
  58. data/app/controllers/concerns/foreman_openscap/hosts_common_controller_extensions.rb +0 -45
  59. data/db/migrate/20151023131950_link_arf_report_directly_to_host.rb +0 -21
  60. data/db/seeds.d/openscap_scap_default.rb +0 -2
@@ -0,0 +1,82 @@
1
+ require 'net/http'
2
+ require 'rest_client'
3
+ require 'json'
4
+ require 'tempfile'
5
+
6
+ module ForemanOpenscap
7
+ class DataMigration
8
+ def initialize(proxy_id)
9
+ @proxy = ::SmartProxy.find(proxy_id)
10
+ puts "Found proxy #{@proxy.to_label}"
11
+ @url = @proxy.url
12
+ end
13
+
14
+ def available?
15
+ return false unless @proxy && @url
16
+ ::ProxyAPI::AvailableProxy.new(:url => @url).available? && foreman_available?
17
+ end
18
+
19
+ def migrate
20
+ ForemanOpenscap::Asset.where(:assetable_type => "Host::Base").select { |a| a.host.nil? }.map(&:destroy)
21
+ ForemanOpenscap::Asset.where(:assetable_type => "Hostgroup").select { |a| a.hostgroup.nil? }.map(&:destroy)
22
+
23
+ old_arf_reports = ActiveRecord::Migration.execute("SELECT * FROM foreman_openscap_arf_reports;")
24
+ old_arf_reports.select do |report|
25
+ policy_id = report["policy_id"]
26
+ date = DateTime.strptime(report["created_at"], "%Y-%m-%d %H:%M:%S")
27
+ date += 1.second until arfs_by_reported(date).empty?
28
+
29
+ host_name = fetch_host_name(report["asset_id"])
30
+ arf_file = fetch_xml_file(report["id"])
31
+
32
+ next if arf_file.blank?
33
+ migrator = ::ProxyAPI::Migration.new(:url => @url)
34
+
35
+ migrated_id = migrator.migrate_arf_report(arf_file, host_name, policy_id, date.to_i)
36
+
37
+ migrated_arf = ForemanOpenscap::ArfReport.find(migrated_id["arf_id"])
38
+ migrated_arf.update_attribute(:openscap_proxy_id, @proxy.id)
39
+ puts "Migrated Old arf_report #{report['id']} as arf: #{migrated_arf.id}"
40
+ delete_old_records(report["id"]) if migrated_arf
41
+ end
42
+ end
43
+
44
+ private
45
+
46
+ def foreman_available?
47
+ foreman_status_url = Setting[:foreman_url] + '/status'
48
+ response = JSON.parse(RestClient.get foreman_status_url)
49
+ return true if response["status"] == "ok"
50
+ rescue *::ProxyAPI::AvailableProxy::HTTP_ERRORS
51
+ return false
52
+ end
53
+
54
+ def fetch_xml_file(id)
55
+ query = ActiveRecord::Migration.execute("SELECT bzip_data FROM foreman_openscap_arf_report_raws WHERE arf_report_id=#{id} LIMIT 1;")
56
+ ActiveRecord::Base.connection.unescape_bytea(query.first['bzip_data'])
57
+ end
58
+
59
+ def delete_old_records(id)
60
+ ActiveRecord::Migration.execute("DELETE FROM foreman_openscap_arf_report_raws WHERE arf_report_id=#{id};")
61
+ ActiveRecord::Migration.execute("DELETE FROM foreman_openscap_arf_reports WHERE id=#{id};")
62
+ drop_empty_tables
63
+ end
64
+
65
+ def fetch_host_name(asset_id)
66
+ asset = ForemanOpenscap::Asset.find(asset_id)
67
+ asset.host.to_label
68
+ end
69
+
70
+ def arfs_by_reported(time)
71
+ ForemanOpenscap::ArfReport.where(:reported_at => time)
72
+ end
73
+
74
+ def drop_empty_tables
75
+ old_arfs = ActiveRecord::Migration.execute("SELECT * FROM foreman_openscap_arf_reports;")
76
+ ActiveRecord::Migration.drop_table(:foreman_openscap_arf_reports) unless old_arfs.any?
77
+ old_raws = ActiveRecord::Migration.execute("SELECT * FROM foreman_openscap_arf_report_raws;")
78
+ ActiveRecord::Migration.drop_table(:foreman_openscap_arf_report_raws) unless old_raws.any?
79
+ end
80
+ end
81
+ end
82
+
@@ -77,7 +77,7 @@ module ForemanOpenscap
77
77
  :remove_policy_from_multiple_hosts]},
78
78
  :resource_type => 'ForemanOpenscap::Policy'
79
79
  permission :view_scap_contents, {:scap_contents => [:index, :show, :auto_complete_search],
80
- 'api/v2/compliance/scap_contents' => [:index, :show]},
80
+ 'api/v2/compliance/scap_contents' => [:index, :show, :xml]},
81
81
  :resource_type => 'ForemanOpenscap::ScapContent'
82
82
  permission :edit_scap_contents, {:scap_contents => [:edit, :update],
83
83
  'api/v2/compliance/scap_contents' => [:update]},
@@ -112,9 +112,9 @@ module ForemanOpenscap
112
112
 
113
113
  # add dashboard widget
114
114
  widget 'compliance_host_reports_widget',
115
- :name => N_('OpenSCAP Host reports widget'), :sizex => 4, :sizey => 1
115
+ :name => N_('OpenSCAP Host reports widget'), :sizex => 6, :sizey => 1
116
116
  widget 'compliance_reports_breakdown_widget',
117
- :name => N_('OpenSCAP Reports breakdown widget'), :sizex => 4, :sizey => 1
117
+ :name => N_('OpenSCAP Reports breakdown widget'), :sizex => 6, :sizey => 1
118
118
 
119
119
  # As 'arf_report_breakdowns' is a view and does not appear in schema.rb, db:test:prepare will not create the view
120
120
  # which will make the following tests fail.
@@ -136,13 +136,12 @@ module ForemanOpenscap
136
136
  Hostgroup.send(:include, ForemanOpenscap::HostgroupExtensions)
137
137
  Hostgroup.send(:include, ForemanOpenscap::OpenscapProxyExtensions)
138
138
  Hostgroup.send(:include, ForemanOpenscap::OpenscapProxyCoreExtensions)
139
- Report.send(:include, ForemanOpenscap::ComplianceStatusScopedSearch)
139
+ ForemanOpenscap::ArfReport.send(:include, ForemanOpenscap::ComplianceStatusScopedSearch)
140
140
  SmartProxy.send(:include, ForemanOpenscap::SmartProxyExtensions)
141
141
  HostsController.send(:include, ForemanOpenscap::HostsControllerExtensions)
142
- HostsController.send(:include, ForemanOpenscap::HostsCommonControllerExtensions)
143
142
  HostgroupsController.send(:include, ForemanOpenscap::HostgroupsControllerExtensions)
144
- HostgroupsController.send(:include, ForemanOpenscap::HostsCommonControllerExtensions)
145
143
  Log.send(:include, ForemanOpenscap::LogExtensions)
144
+ LookupKeysHelper.send(:include, ForemanOpenscap::LookupKeysHelperExtensions)
146
145
  end
147
146
 
148
147
  rake_tasks do
@@ -1,3 +1,3 @@
1
1
  module ForemanOpenscap
2
- VERSION = "0.5.3"
2
+ VERSION = "0.5.4"
3
3
  end
@@ -15,6 +15,20 @@ namespace :foreman_openscap do
15
15
  end
16
16
  ForemanOpenscap::BulkUpload.new.upload_from_files(files_array)
17
17
  end
18
+
19
+ task :default => [:environment] do
20
+ ForemanOpenscap::BulkUpload.new(true).generate_scap_default_content
21
+ end
22
+ end
23
+
24
+ task :migrate, [:proxy] => [:environment] do |task, args|
25
+ require 'foreman_openscap/data_migration'
26
+ puts 'Starting ARF reports migration process...'
27
+ puts "Migrating with proxy id: #{args[:proxy]}"
28
+ abort("Please pass migrating proxy id. run 'rake foreman_openscap:migrate[scap_proxy_id]'") unless args[:proxy]
29
+ migrate = ForemanOpenscap::DataMigration.new(args[:proxy])
30
+ abort("Foreman & proxy should be up for this migration") unless migrate.available?
31
+ migrate.migrate
18
32
  end
19
33
 
20
34
  task :rubocop do
@@ -8,5 +8,6 @@ FactoryGirl.define do
8
8
  logs []
9
9
  status 0
10
10
  metrics {}
11
+ openscap_proxy nil
11
12
  end
12
13
  end
@@ -1,9 +1,19 @@
1
1
  FactoryGirl.define do
2
+ factory :openscap_feature, :class => Feature do
3
+ name 'Openscap'
4
+ end
5
+
6
+ factory :openscap_proxy, :class => SmartProxy do
7
+ sequence(:name) {|n| "proxy#{n}" }
8
+ sequence(:url) {|n| "https://somewhere#{n}.net:8443" }
9
+ features [FactoryGirl.create(:openscap_feature)]
10
+ end
11
+
2
12
  factory :compliance_host, :class => Host::Managed do
3
13
  sequence(:name) { |n| "host#{n}" }
4
14
  sequence(:hostname) { |n| "hostname#{n}" }
5
15
  root_pass 'xybxa6JUkz63w'
6
- openscap_proxy FactoryGirl.build(:smart_proxy, :url => "http://test.org:8080")
16
+ openscap_proxy FactoryGirl.create(:openscap_proxy)
7
17
  policies []
8
18
  end
9
19
  end
@@ -5,7 +5,9 @@ class Api::V2::Compliance::ArfReportsControllerTest < ActionController::TestCase
5
5
  # override validation of policy (puppetclass, lookup_key overrides)
6
6
  ForemanOpenscap::Policy.any_instance.stubs(:valid?).returns(true)
7
7
  @host = FactoryGirl.create(:compliance_host)
8
- @report = FactoryGirl.create(:arf_report, :host_id => @host.id)
8
+ @report = FactoryGirl.create(:arf_report,
9
+ :host_id => @host.id,
10
+ :openscap_proxy => FactoryGirl.create(:smart_proxy, :url => "http://smart-proxy.org:8000"))
9
11
  end
10
12
  test "should get index" do
11
13
  get :index, {}, set_session_user
@@ -6,14 +6,31 @@ FactoryGirl.definition_file_paths << File.join(File.dirname(__FILE__), 'factorie
6
6
  FactoryGirl.reload
7
7
 
8
8
  Spork.each_run do
9
+ module ScapClientPuppetclass
10
+ def skip_scap_callback
11
+ Host::Managed.any_instance.stubs(:update_scap_client).returns(nil)
12
+ Host::Managed.any_instance.stubs(:scap_client_class_present).returns(nil)
13
+ Hostgroup.any_instance.stubs(:update_scap_client).returns(nil)
14
+ end
15
+ end
16
+
17
+ class ActionMailer::TestCase
18
+ include ScapClientPuppetclass
19
+ setup :skip_scap_callback
20
+ end
21
+
9
22
  class ActionController::TestCase
10
- setup :add_smart_proxy
23
+ include ScapClientPuppetclass
24
+
25
+ setup :add_smart_proxy, :skip_scap_callback
11
26
 
12
27
  private
13
28
 
14
29
  def add_smart_proxy
15
30
  FactoryGirl.create(:smart_proxy, :url => 'http://localhost:8443', :features => [FactoryGirl.create(:feature, :name => 'Openscap')])
16
31
  ::ProxyAPI::Features.any_instance.stubs(:features).returns(%w(puppet openscap))
32
+ versions = { "version" => "1.11.0", "modules" => { "openscap" => "0.5.3" } }
33
+ ::ProxyAPI::Version.any_instance.stubs(:proxy_versions).returns(versions)
17
34
  ProxyAPI::Openscap.any_instance.stubs(:validate_scap_content).returns({'errors' => []})
18
35
  ProxyAPI::Openscap.any_instance.stubs(:fetch_policies_for_scap_content)
19
36
  .returns({'xccdf_org.ssgproject.content_profile_common' => 'Common Profile for General-Purpose Fedora Systems'})
@@ -21,13 +38,17 @@ Spork.each_run do
21
38
  end
22
39
 
23
40
  class ActiveSupport::TestCase
24
- setup :add_smart_proxy
41
+ include ScapClientPuppetclass
42
+
43
+ setup :add_smart_proxy, :skip_scap_callback
25
44
 
26
45
  private
27
46
 
28
47
  def add_smart_proxy
29
48
  FactoryGirl.create(:smart_proxy, :url => 'http://localhost:8443', :features => [FactoryGirl.create(:feature, :name => 'Openscap')])
30
49
  ::ProxyAPI::Features.any_instance.stubs(:features).returns(%w(puppet openscap))
50
+ versions = { "version" => "1.11.0", "modules" => { "openscap" => "0.5.3" } }
51
+ ::ProxyAPI::Version.any_instance.stubs(:proxy_versions).returns(versions)
31
52
  ProxyAPI::Openscap.any_instance.stubs(:validate_scap_content).returns({'errors' => []})
32
53
  ProxyAPI::Openscap.any_instance.stubs(:fetch_policies_for_scap_content)
33
54
  .returns({'xccdf_org.ssgproject.content_profile_common' => 'Common Profile for General-Purpose Fedora Systems'})
@@ -15,7 +15,7 @@ class ScapContentTest < ActiveSupport::TestCase
15
15
  ProxyAPI::AvailableProxy.any_instance.stubs(:available?).returns(false)
16
16
  scap_content = ForemanOpenscap::ScapContent.new(:title => 'Fedora', :scap_file => @scap_file)
17
17
  refute(scap_content.save)
18
- assert_includes(scap_content.errors.messages[:base], 'No Proxy with OpenScap features')
18
+ assert_includes(scap_content.errors.messages[:base], 'No proxy with OpenSCAP features')
19
19
  end
20
20
 
21
21
  test 'proxy_url should return the first available proxy it finds' do
@@ -0,0 +1,25 @@
1
+ require 'test_plugin_helper'
2
+
3
+ class DataTest < ActiveSupport::TestCase
4
+ setup do
5
+ @host = FactoryGirl.create(:compliance_host)
6
+ @arf = FactoryGirl.create(:arf_report, :host_id => @host.id)
7
+ @source = FactoryGirl.create(:source)
8
+ @failed = []
9
+ @passed = []
10
+ 3.times do
11
+ @failed << FactoryGirl.create(:compliance_log, :report_id => @arf.id, :source => @source)
12
+ end
13
+ 2.times do
14
+ @passed << FactoryGirl.create(:compliance_log, :report_id => @arf.id, :result => "pass", :source => @source)
15
+ end
16
+ @othered = [FactoryGirl.create(:compliance_log, :report_id => @arf.id, :result => "unknown", :source => @source)]
17
+ end
18
+
19
+ test 'should fetch data' do
20
+ report_data = ForemanOpenscap::ReportDashboard::Data.new().report
21
+ assert_equal 3, report_data[:failed]
22
+ assert_equal 2, report_data[:passed]
23
+ assert_equal 1, report_data[:othered]
24
+ end
25
+ end
metadata CHANGED
@@ -1,261 +1,269 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: foreman_openscap
3
- version: !ruby/object:Gem::Version
4
- version: 0.5.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.4
5
5
  platform: ruby
6
- authors:
7
- - Šimon Lukašík
6
+ authors:
7
+ - !binary |
8
+ xaBpbW9uIEx1a2HFocOtaw==
9
+
8
10
  - Shlomi Zadok
9
11
  - Marek Hulan
10
12
  - Ondrej Prazak
11
13
  autorequire:
12
14
  bindir: bin
13
15
  cert_chain: []
14
- date: 2016-01-28 00:00:00.000000000 Z
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
16
+
17
+ date: 2016-06-02 00:00:00 Z
18
+ dependencies:
19
+ - !ruby/object:Gem::Dependency
17
20
  name: deface
18
- requirement: !ruby/object:Gem::Requirement
19
- requirements:
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '2.0'
23
- type: :runtime
24
21
  prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - "<"
28
- - !ruby/object:Gem::Version
29
- version: '2.0'
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - <
25
+ - !ruby/object:Gem::Version
26
+ version: "2.0"
27
+ type: :runtime
28
+ version_requirements: *id001
30
29
  description: Foreman plug-in for managing security compliance reports
31
- email:
30
+ email:
32
31
  - slukasik@redhat.com
33
32
  executables: []
33
+
34
34
  extensions: []
35
+
35
36
  extra_rdoc_files: []
36
- files:
37
- - LICENSE
38
- - README.md
39
- - app/assets/javascripts/foreman_openscap/arf_reports.js
40
- - app/assets/javascripts/foreman_openscap/load_report.js
41
- - app/assets/javascripts/foreman_openscap/openscap_proxy.js
42
- - app/assets/javascripts/foreman_openscap/period_selector.js
43
- - app/assets/javascripts/foreman_openscap/policy_edit.js
44
- - app/assets/javascripts/foreman_openscap/reports.js
45
- - app/assets/javascripts/foreman_openscap/scap_hosts_show.js
46
- - app/assets/stylesheets/foreman_openscap/policy.css
47
- - app/assets/stylesheets/foreman_openscap/reports.css
48
- - app/controllers/api/v2/compliance/arf_reports_controller.rb
49
- - app/controllers/api/v2/compliance/policies_controller.rb
50
- - app/controllers/api/v2/compliance/scap_contents_controller.rb
37
+
38
+ files:
39
+ - app/services/foreman_openscap/host_report_dashboard/data.rb
40
+ - app/services/foreman_openscap/policy_dashboard/data.rb
41
+ - app/services/foreman_openscap/report_dashboard/data.rb
42
+ - app/services/foreman_openscap/arf_report_status_calculator.rb
43
+ - app/views/dashboard/_compliance_host_reports_widget.html.erb
44
+ - app/views/dashboard/_compliance_reports_breakdown_widget.html.erb
45
+ - app/views/arf_reports/index.html.erb
46
+ - app/views/arf_reports/_detailed_message.html.erb
47
+ - app/views/arf_reports/delete_multiple.html.erb
48
+ - app/views/arf_reports/show.html.erb
49
+ - app/views/arf_reports/show_html.html.erb
50
+ - app/views/arf_reports/_output.html.erb
51
+ - app/views/arf_reports/_list.html.erb
52
+ - app/views/arf_reports/_metrics.html.erb
53
+ - app/views/scap_contents/welcome.html.erb
54
+ - app/views/scap_contents/index.html.erb
55
+ - app/views/scap_contents/_form.html.erb
56
+ - app/views/scap_contents/new.html.erb
57
+ - app/views/scap_contents/edit.html.erb
58
+ - app/views/scap_contents/_list.html.erb
59
+ - app/views/api/v2/compliance/arf_reports/index.json.rabl
60
+ - app/views/api/v2/compliance/arf_reports/show.json.rabl
61
+ - app/views/api/v2/compliance/arf_reports/base.json.rabl
62
+ - app/views/api/v2/compliance/arf_reports/main.json.rabl
63
+ - app/views/api/v2/compliance/common/_org.json.rabl
64
+ - app/views/api/v2/compliance/common/_loc.json.rabl
65
+ - app/views/api/v2/compliance/scap_contents/index.json.rabl
66
+ - app/views/api/v2/compliance/scap_contents/show.json.rabl
67
+ - app/views/api/v2/compliance/scap_contents/base.json.rabl
68
+ - app/views/api/v2/compliance/scap_contents/main.json.rabl
69
+ - app/views/api/v2/compliance/policies/index.json.rabl
70
+ - app/views/api/v2/compliance/policies/create.json.rabl
71
+ - app/views/api/v2/compliance/policies/show.json.rabl
72
+ - app/views/api/v2/compliance/policies/base.json.rabl
73
+ - app/views/api/v2/compliance/policies/main.json.rabl
74
+ - app/views/policy_dashboard/index.html.erb
75
+ - app/views/policy_dashboard/_policy_chart_widget.html.erb
76
+ - app/views/policy_dashboard/_policy_reports.html.erb
77
+ - app/views/policy_dashboard/_policy_status_widget.html.erb
78
+ - app/views/policies/welcome.html.erb
79
+ - app/views/policies/index.html.erb
80
+ - app/views/policies/_form.html.erb
81
+ - app/views/policies/new.html.erb
82
+ - app/views/policies/show.html.erb
83
+ - app/views/policies/steps/_locations_form.html.erb
84
+ - app/views/policies/steps/_organizations_form.html.erb
85
+ - app/views/policies/steps/_hostgroups_form.html.erb
86
+ - app/views/policies/steps/_step_form.html.erb
87
+ - app/views/policies/steps/_scap_content_form.html.erb
88
+ - app/views/policies/steps/_schedule_form.html.erb
89
+ - app/views/policies/steps/_create_policy_form.html.erb
90
+ - app/views/policies/edit.html.erb
91
+ - app/views/policies/create.html.erb
92
+ - app/views/policies/_list.html.erb
93
+ - app/views/policies/disassociate_multiple_hosts.html.erb
94
+ - app/views/policies/select_multiple_hosts.html.erb
95
+ - app/views/policies/_scap_content_results.html.erb
96
+ - app/views/foreman_openscap/policy_mailer/_policy.erb
97
+ - app/views/foreman_openscap/policy_mailer/_hosts.erb
98
+ - app/views/foreman_openscap/policy_mailer/_list.erb
99
+ - app/views/foreman_openscap/policy_mailer/_dashboard.erb
100
+ - app/views/foreman_openscap/policy_mailer/policy_summary.erb
101
+ - app/views/compliance_hosts/show.html.erb
102
+ - app/views/compliance_hosts/_compliance_status.erb
103
+ - app/views/compliance_hosts/_openscap_proxy.html.erb
51
104
  - app/controllers/arf_reports_controller.rb
52
- - app/controllers/compliance_dashboard_controller.rb
53
105
  - app/controllers/compliance_hosts_controller.rb
54
- - app/controllers/concerns/foreman_openscap/hostgroups_controller_extensions.rb
55
- - app/controllers/concerns/foreman_openscap/hosts_common_controller_extensions.rb
106
+ - app/controllers/compliance_dashboard_controller.rb
107
+ - app/controllers/scap_contents_controller.rb
108
+ - app/controllers/policy_dashboard_controller.rb
56
109
  - app/controllers/concerns/foreman_openscap/hosts_controller_extensions.rb
110
+ - app/controllers/concerns/foreman_openscap/hostgroups_controller_extensions.rb
111
+ - app/controllers/api/v2/compliance/arf_reports_controller.rb
112
+ - app/controllers/api/v2/compliance/scap_contents_controller.rb
113
+ - app/controllers/api/v2/compliance/policies_controller.rb
57
114
  - app/controllers/policies_controller.rb
58
- - app/controllers/policy_dashboard_controller.rb
59
- - app/controllers/scap_contents_controller.rb
60
- - app/helpers/arf_report_dashboard_helper.rb
61
- - app/helpers/arf_reports_helper.rb
62
- - app/helpers/compliance_hosts_helper.rb
63
- - app/helpers/concerns/foreman_openscap/hosts_helper_extensions.rb
64
- - app/helpers/policies_helper.rb
65
- - app/helpers/policy_dashboard_helper.rb
115
+ - app/lib/proxy_api/migration.rb
66
116
  - app/lib/proxy_api/available_proxy.rb
67
117
  - app/lib/proxy_api/openscap.rb
118
+ - app/assets/javascripts/foreman_openscap/policy_edit.js
119
+ - app/assets/javascripts/foreman_openscap/scap_hosts_show.js
120
+ - app/assets/javascripts/foreman_openscap/load_report.js
121
+ - app/assets/javascripts/foreman_openscap/arf_reports.js
122
+ - app/assets/javascripts/foreman_openscap/period_selector.js
123
+ - app/assets/javascripts/foreman_openscap/reports.js
124
+ - app/assets/stylesheets/foreman_openscap/reports.css
125
+ - app/assets/stylesheets/foreman_openscap/policy.css
68
126
  - app/mailers/foreman_openscap/policy_mailer.rb
127
+ - app/helpers/policy_dashboard_helper.rb
128
+ - app/helpers/compliance_hosts_helper.rb
129
+ - app/helpers/policies_helper.rb
130
+ - app/helpers/dashboard_helper.rb
131
+ - app/helpers/concerns/foreman_openscap/hosts_helper_extensions.rb
132
+ - app/helpers/concerns/foreman_openscap/lookup_keys_helper_extensions.rb
133
+ - app/helpers/arf_report_dashboard_helper.rb
134
+ - app/helpers/arf_reports_helper.rb
135
+ - app/overrides/hostgroups/form/select_openscap_proxy.rb
136
+ - app/overrides/hosts/form/select_openscap_proxy.rb
137
+ - app/overrides/hosts/overview/host_compliance_status.rb
138
+ - app/models/concerns/foreman_openscap/smart_proxy_extensions.rb
69
139
  - app/models/concerns/foreman_openscap/compliance_status_scoped_search.rb
70
- - app/models/concerns/foreman_openscap/host_extensions.rb
71
140
  - app/models/concerns/foreman_openscap/hostgroup_extensions.rb
72
- - app/models/concerns/foreman_openscap/log_extensions.rb
73
- - app/models/concerns/foreman_openscap/openscap_proxy_core_extensions.rb
141
+ - app/models/concerns/foreman_openscap/host_extensions.rb
74
142
  - app/models/concerns/foreman_openscap/openscap_proxy_extensions.rb
75
- - app/models/concerns/foreman_openscap/smart_proxy_extensions.rb
76
- - app/models/foreman_openscap/arf_report.rb
143
+ - app/models/concerns/foreman_openscap/openscap_proxy_core_extensions.rb
144
+ - app/models/concerns/foreman_openscap/log_extensions.rb
145
+ - app/models/foreman_openscap/policy.rb
146
+ - app/models/foreman_openscap/compliance_status.rb
77
147
  - app/models/foreman_openscap/asset.rb
78
148
  - app/models/foreman_openscap/asset_policy.rb
79
- - app/models/foreman_openscap/compliance_status.rb
80
- - app/models/foreman_openscap/policy.rb
149
+ - app/models/foreman_openscap/scap_content_profile.rb
81
150
  - app/models/foreman_openscap/policy_arf_report.rb
151
+ - app/models/foreman_openscap/arf_report.rb
82
152
  - app/models/foreman_openscap/policy_revision.rb
83
153
  - app/models/foreman_openscap/scap_content.rb
84
- - app/models/foreman_openscap/scap_content_profile.rb
85
- - app/overrides/hostgroups/form/select_openscap_proxy.rb
86
- - app/overrides/hosts/form/select_openscap_proxy.rb
87
- - app/overrides/hosts/overview/host_compliance_status.rb
88
- - app/services/foreman_openscap/arf_report_status_calculator.rb
89
- - app/services/foreman_openscap/host_report_dashboard/data.rb
90
- - app/services/foreman_openscap/policy_dashboard/data.rb
91
- - app/services/foreman_openscap/report_dashboard/data.rb
92
- - app/views/api/v2/compliance/arf_reports/base.json.rabl
93
- - app/views/api/v2/compliance/arf_reports/index.json.rabl
94
- - app/views/api/v2/compliance/arf_reports/main.json.rabl
95
- - app/views/api/v2/compliance/arf_reports/show.json.rabl
96
- - app/views/api/v2/compliance/policies/base.json.rabl
97
- - app/views/api/v2/compliance/policies/create.json.rabl
98
- - app/views/api/v2/compliance/policies/index.json.rabl
99
- - app/views/api/v2/compliance/policies/main.json.rabl
100
- - app/views/api/v2/compliance/policies/show.json.rabl
101
- - app/views/api/v2/compliance/scap_contents/base.json.rabl
102
- - app/views/api/v2/compliance/scap_contents/index.json.rabl
103
- - app/views/api/v2/compliance/scap_contents/main.json.rabl
104
- - app/views/api/v2/compliance/scap_contents/show.json.rabl
105
- - app/views/arf_reports/_detailed_message.html.erb
106
- - app/views/arf_reports/_list.html.erb
107
- - app/views/arf_reports/_metrics.html.erb
108
- - app/views/arf_reports/_output.html.erb
109
- - app/views/arf_reports/delete_multiple.html.erb
110
- - app/views/arf_reports/index.html.erb
111
- - app/views/arf_reports/show.html.erb
112
- - app/views/arf_reports/show_html.html.erb
113
- - app/views/compliance_hosts/_compliance_status.erb
114
- - app/views/compliance_hosts/_openscap_proxy.html.erb
115
- - app/views/compliance_hosts/show.html.erb
116
- - app/views/dashboard/_compliance_host_reports_widget.html.erb
117
- - app/views/dashboard/_compliance_reports_breakdown_widget.html.erb
118
- - app/views/foreman_openscap/policy_mailer/_dashboard.erb
119
- - app/views/foreman_openscap/policy_mailer/_hosts.erb
120
- - app/views/foreman_openscap/policy_mailer/_list.erb
121
- - app/views/foreman_openscap/policy_mailer/_policy.erb
122
- - app/views/foreman_openscap/policy_mailer/policy_summary.erb
123
- - app/views/policies/_form.html.erb
124
- - app/views/policies/_list.html.erb
125
- - app/views/policies/_scap_content_results.html.erb
126
- - app/views/policies/create.html.erb
127
- - app/views/policies/disassociate_multiple_hosts.html.erb
128
- - app/views/policies/edit.html.erb
129
- - app/views/policies/index.html.erb
130
- - app/views/policies/new.html.erb
131
- - app/views/policies/select_multiple_hosts.html.erb
132
- - app/views/policies/show.html.erb
133
- - app/views/policies/steps/_create_policy_form.html.erb
134
- - app/views/policies/steps/_hostgroups_form.html.erb
135
- - app/views/policies/steps/_locations_form.html.erb
136
- - app/views/policies/steps/_organizations_form.html.erb
137
- - app/views/policies/steps/_scap_content_form.html.erb
138
- - app/views/policies/steps/_schedule_form.html.erb
139
- - app/views/policies/steps/_step_form.html.erb
140
- - app/views/policies/welcome.html.erb
141
- - app/views/policy_dashboard/_policy_chart_widget.html.erb
142
- - app/views/policy_dashboard/_policy_reports.html.erb
143
- - app/views/policy_dashboard/_policy_status_widget.html.erb
144
- - app/views/policy_dashboard/index.html.erb
145
- - app/views/scap_contents/_form.html.erb
146
- - app/views/scap_contents/_list.html.erb
147
- - app/views/scap_contents/edit.html.erb
148
- - app/views/scap_contents/index.html.erb
149
- - app/views/scap_contents/new.html.erb
150
- - app/views/scap_contents/welcome.html.erb
151
154
  - config/routes.rb
152
- - db/migrate/20141013172051_create_scaptimony_policies.rb
153
- - db/migrate/20141014105333_create_scaptimony_assets.rb
154
- - db/migrate/20141015092642_create_scaptimony_arf_reports.rb
155
- - db/migrate/20141015115511_add_arf_report_unique_constraint.rb
156
- - db/migrate/20141104164201_create_scaptimony_scap_contents.rb
157
- - db/migrate/20141104171545_create_scaptimony_policy_revisions.rb
155
+ - db/seeds.d/openscap_policy_notification.rb
156
+ - db/seeds.d/openscap_feature.rb
158
157
  - db/migrate/20141105174625_add_description_to_scaptimony_policy_revisions.rb
159
- - db/migrate/20141105174834_add_columns_to_scaptimony_policies.rb
160
- - db/migrate/20141107091756_add_columns_to_scaptimony_scap_contents.rb
161
- - db/migrate/20141111104519_add_constraint_to_scaptimony_scap_contents.rb
162
- - db/migrate/20141113221054_create_scaptimony_scap_content_profiles.rb
163
- - db/migrate/20141116170632_remove_xccdf_profile_from_scaptimony_policies.rb
164
- - db/migrate/20141116171305_add_profile_to_scaptimony_policies.rb
165
- - db/migrate/20141118142954_add_constraint_to_scaptimony_policies.rb
166
- - db/migrate/20141119164918_create_scaptimony_xccdf_results.rb
167
- - db/migrate/20141119175434_create_scaptimony_xccdf_rules.rb
168
- - db/migrate/20141119182606_create_scaptimony_xccdf_rule_results.rb
158
+ - db/migrate/20150929152345_move_arf_reports_to_reports_table.rb
169
159
  - db/migrate/20141121120326_create_scaptimony_arf_report_breakdowns.rb
170
- - db/migrate/20141121164042_replace_arf_report_breakdown_view.rb
171
- - db/migrate/20141206211151_create_scaptimony_assets_policies.rb
172
- - db/migrate/20141214112917_add_scap_file_to_scap_content.rb
160
+ - db/migrate/20141014105333_create_scaptimony_assets.rb
161
+ - db/migrate/20151119155419_add_arf_fields_to_message.rb
162
+ - db/migrate/20150115155947_add_scaptimony_scap_content_digest.rb
163
+ - db/migrate/20141113221054_create_scaptimony_scap_content_profiles.rb
173
164
  - db/migrate/20141216154502_rename_scaptimony_asset_policies.rb
174
- - db/migrate/20150111085317_polymorph_asset.rb
165
+ - db/migrate/20141107091756_add_columns_to_scaptimony_scap_contents.rb
175
166
  - db/migrate/20150112152944_create_scaptimony_arf_report_raws.rb
167
+ - db/migrate/20141206211151_create_scaptimony_assets_policies.rb
168
+ - db/migrate/20141119164918_create_scaptimony_xccdf_results.rb
169
+ - db/migrate/20141116171305_add_profile_to_scaptimony_policies.rb
170
+ - db/migrate/20141015115511_add_arf_report_unique_constraint.rb
171
+ - db/migrate/20150821100137_migrate_from_scaptimony.rb
172
+ - db/migrate/20141118142954_add_constraint_to_scaptimony_policies.rb
173
+ - db/migrate/20150925124959_create_policy_arf_reports.rb
176
174
  - db/migrate/20150114210634_rename_scaptimony_arf_report_raw_raw.rb
177
- - db/migrate/20150115155947_add_scaptimony_scap_content_digest.rb
178
175
  - db/migrate/20150116083129_add_day_of_month_and_cron_line_to_scaptimony_policy.rb
179
- - db/migrate/20150821100137_migrate_from_scaptimony.rb
176
+ - db/migrate/20141105174834_add_columns_to_scaptimony_policies.rb
180
177
  - db/migrate/20150827123826_remove_scaptimony_permissions.rb
181
- - db/migrate/20150925124959_create_policy_arf_reports.rb
182
- - db/migrate/20150929124853_add_result_to_logs.rb
183
- - db/migrate/20150929152345_move_arf_reports_to_reports_table.rb
184
- - db/migrate/20151023131950_link_arf_report_directly_to_host.rb
178
+ - db/migrate/20141119175434_create_scaptimony_xccdf_rules.rb
179
+ - db/migrate/20141119182606_create_scaptimony_xccdf_rule_results.rb
180
+ - db/migrate/20141013172051_create_scaptimony_policies.rb
185
181
  - db/migrate/20151118165125_add_size_to_scap_content.rb
186
- - db/migrate/20151119155419_add_arf_fields_to_message.rb
182
+ - db/migrate/20141111104519_add_constraint_to_scaptimony_scap_contents.rb
183
+ - db/migrate/20150929124853_add_result_to_logs.rb
184
+ - db/migrate/20141121164042_replace_arf_report_breakdown_view.rb
185
+ - db/migrate/20150111085317_polymorph_asset.rb
186
+ - db/migrate/20141214112917_add_scap_file_to_scap_content.rb
187
+ - db/migrate/20141015092642_create_scaptimony_arf_reports.rb
187
188
  - db/migrate/20151120090851_add_openscap_proxy_to_host_and_hostgroup.rb
188
- - db/seeds.d/openscap_feature.rb
189
- - db/seeds.d/openscap_policy_notification.rb
190
- - db/seeds.d/openscap_scap_default.rb
189
+ - db/migrate/20141116170632_remove_xccdf_profile_from_scaptimony_policies.rb
190
+ - db/migrate/20141104171545_create_scaptimony_policy_revisions.rb
191
+ - db/migrate/20141104164201_create_scaptimony_scap_contents.rb
191
192
  - lib/foreman_openscap.rb
193
+ - lib/tasks/foreman_openscap_tasks.rake
194
+ - lib/foreman_openscap/version.rb
192
195
  - lib/foreman_openscap/bulk_upload.rb
196
+ - lib/foreman_openscap/data_migration.rb
193
197
  - lib/foreman_openscap/engine.rb
194
198
  - lib/foreman_openscap/helper.rb
195
- - lib/foreman_openscap/version.rb
196
- - lib/tasks/foreman_openscap_tasks.rake
197
- - test/factories/arf_report_factory.rb
198
- - test/factories/asset_factory.rb
199
- - test/factories/compliance_host_factory.rb
199
+ - LICENSE
200
+ - README.md
200
201
  - test/factories/compliance_log_factory.rb
201
- - test/factories/policy_arf_report_factory.rb
202
- - test/factories/policy_factory.rb
202
+ - test/factories/compliance_host_factory.rb
203
203
  - test/factories/scap_content_related.rb
204
+ - test/factories/asset_factory.rb
205
+ - test/factories/arf_report_factory.rb
206
+ - test/factories/policy_factory.rb
207
+ - test/factories/policy_arf_report_factory.rb
204
208
  - test/files/scap_contents/ssg-fedora-ds.xml
205
- - test/functional/api/v2/compliance/arf_reports_controller_test.rb
206
- - test/functional/api/v2/compliance/policies_controller_test.rb
207
- - test/functional/api/v2/compliance/scap_contents_controller_test.rb
208
- - test/functional/arf_reports_controller_test.rb
209
- - test/lib/foreman_openscap/bulk_upload_test.rb
210
- - test/test_plugin_helper.rb
211
- - test/unit/arf_report_status_calculator_test.rb
212
- - test/unit/arf_report_test.rb
209
+ - test/unit/services/report_dashboard/data_test.rb
213
210
  - test/unit/compliance_status_test.rb
214
- - test/unit/openscap_host_test.rb
211
+ - test/unit/arf_report_test.rb
215
212
  - test/unit/policy_mailer_test.rb
216
213
  - test/unit/scap_content_test.rb
214
+ - test/unit/arf_report_status_calculator_test.rb
215
+ - test/unit/openscap_host_test.rb
216
+ - test/test_plugin_helper.rb
217
+ - test/lib/foreman_openscap/bulk_upload_test.rb
218
+ - test/functional/arf_reports_controller_test.rb
219
+ - test/functional/api/v2/compliance/arf_reports_controller_test.rb
220
+ - test/functional/api/v2/compliance/scap_contents_controller_test.rb
221
+ - test/functional/api/v2/compliance/policies_controller_test.rb
217
222
  homepage: https://github.com/OpenSCAP/foreman_openscap
218
- licenses:
223
+ licenses:
219
224
  - GPL-3.0
220
225
  metadata: {}
226
+
221
227
  post_install_message:
222
228
  rdoc_options: []
223
- require_paths:
229
+
230
+ require_paths:
224
231
  - lib
225
- required_ruby_version: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: '0'
230
- required_rubygems_version: !ruby/object:Gem::Requirement
231
- requirements:
232
- - - ">="
233
- - !ruby/object:Gem::Version
234
- version: '0'
232
+ required_ruby_version: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - &id002
235
+ - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: "0"
238
+ required_rubygems_version: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - *id002
235
241
  requirements: []
242
+
236
243
  rubyforge_project:
237
- rubygems_version: 2.4.8
244
+ rubygems_version: 2.0.17
238
245
  signing_key:
239
246
  specification_version: 4
240
247
  summary: Foreman plug-in for displaying OpenSCAP audit reports
241
- test_files:
242
- - test/factories/policy_arf_report_factory.rb
243
- - test/factories/policy_factory.rb
248
+ test_files:
244
249
  - test/factories/compliance_log_factory.rb
245
- - test/factories/asset_factory.rb
250
+ - test/factories/compliance_host_factory.rb
246
251
  - test/factories/scap_content_related.rb
252
+ - test/factories/asset_factory.rb
247
253
  - test/factories/arf_report_factory.rb
248
- - test/factories/compliance_host_factory.rb
249
- - test/lib/foreman_openscap/bulk_upload_test.rb
250
- - test/unit/scap_content_test.rb
251
- - test/unit/openscap_host_test.rb
254
+ - test/factories/policy_factory.rb
255
+ - test/factories/policy_arf_report_factory.rb
256
+ - test/files/scap_contents/ssg-fedora-ds.xml
257
+ - test/unit/services/report_dashboard/data_test.rb
252
258
  - test/unit/compliance_status_test.rb
253
- - test/unit/arf_report_status_calculator_test.rb
254
- - test/unit/policy_mailer_test.rb
255
259
  - test/unit/arf_report_test.rb
256
- - test/files/scap_contents/ssg-fedora-ds.xml
257
- - test/functional/api/v2/compliance/policies_controller_test.rb
258
- - test/functional/api/v2/compliance/scap_contents_controller_test.rb
259
- - test/functional/api/v2/compliance/arf_reports_controller_test.rb
260
- - test/functional/arf_reports_controller_test.rb
260
+ - test/unit/policy_mailer_test.rb
261
+ - test/unit/scap_content_test.rb
262
+ - test/unit/arf_report_status_calculator_test.rb
263
+ - test/unit/openscap_host_test.rb
261
264
  - test/test_plugin_helper.rb
265
+ - test/lib/foreman_openscap/bulk_upload_test.rb
266
+ - test/functional/arf_reports_controller_test.rb
267
+ - test/functional/api/v2/compliance/arf_reports_controller_test.rb
268
+ - test/functional/api/v2/compliance/scap_contents_controller_test.rb
269
+ - test/functional/api/v2/compliance/policies_controller_test.rb