inspec-core 5.22.95 → 6.6.0
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.
- checksums.yaml +4 -4
- data/Chef-EULA +9 -0
- data/Gemfile +25 -41
- data/etc/features.sig +6 -0
- data/etc/features.yaml +94 -0
- data/inspec-core.gemspec +20 -18
- data/lib/inspec/backend.rb +2 -0
- data/lib/inspec/base_cli.rb +80 -4
- data/lib/inspec/cached_fetcher.rb +24 -3
- data/lib/inspec/cli.rb +292 -235
- data/lib/inspec/config.rb +24 -11
- data/lib/inspec/dependencies/cache.rb +33 -0
- data/lib/inspec/dependencies/dependency_set.rb +2 -2
- data/lib/inspec/dsl.rb +1 -1
- data/lib/inspec/enhanced_outcomes.rb +1 -0
- data/lib/inspec/errors.rb +5 -0
- data/lib/inspec/exceptions.rb +1 -0
- data/lib/inspec/feature/config.rb +75 -0
- data/lib/inspec/feature/runner.rb +26 -0
- data/lib/inspec/feature.rb +34 -0
- data/lib/inspec/fetcher/git.rb +6 -21
- data/lib/inspec/fetcher/url.rb +7 -29
- data/lib/inspec/globals.rb +6 -0
- data/lib/inspec/input_registry.rb +1 -5
- data/lib/inspec/plugin/v1/plugin_types/fetcher.rb +7 -0
- data/lib/inspec/plugin/v2/plugin_types/streaming_reporter.rb +30 -2
- data/lib/inspec/profile.rb +49 -13
- data/lib/inspec/reporters/cli.rb +1 -1
- data/lib/inspec/reporters.rb +67 -54
- data/lib/inspec/resources/audit_policy.rb +2 -8
- data/lib/inspec/resources/groups.rb +0 -52
- data/lib/inspec/resources/nftables.rb +1 -14
- data/lib/inspec/resources/oracledb_session.rb +3 -9
- data/lib/inspec/resources/postgres_session.rb +5 -9
- data/lib/inspec/resources/sybase_session.rb +2 -11
- data/lib/inspec/resources/virtualization.rb +1 -1
- data/lib/inspec/rule.rb +9 -14
- data/lib/inspec/run_data.rb +7 -5
- data/lib/inspec/runner.rb +35 -6
- data/lib/inspec/runner_rspec.rb +12 -9
- data/lib/inspec/secrets/yaml.rb +5 -1
- data/lib/inspec/shell.rb +10 -0
- data/lib/inspec/ui.rb +4 -0
- data/lib/inspec/utils/licensing_config.rb +9 -0
- data/lib/inspec/utils/profile_ast_helpers.rb +2 -1
- data/lib/inspec/utils/waivers/csv_file_reader.rb +1 -1
- data/lib/inspec/utils/waivers/excel_file_reader.rb +1 -1
- data/lib/inspec/version.rb +1 -1
- data/lib/inspec/waiver_file_reader.rb +18 -35
- data/lib/inspec.rb +2 -1
- data/lib/matchers/matchers.rb +3 -3
- data/lib/plugins/inspec-compliance/README.md +1 -11
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/cli.rb +189 -170
- data/lib/plugins/inspec-habitat/lib/inspec-habitat/cli.rb +10 -3
- data/lib/plugins/inspec-init/lib/inspec-init/cli.rb +1 -0
- data/lib/plugins/inspec-init/lib/inspec-init/cli_plugin.rb +23 -21
- data/lib/plugins/inspec-init/lib/inspec-init/cli_profile.rb +15 -13
- data/lib/plugins/inspec-init/lib/inspec-init/cli_resource.rb +15 -13
- data/lib/plugins/inspec-license/README.md +16 -0
- data/lib/plugins/inspec-license/inspec-license.gemspec +6 -0
- data/lib/plugins/inspec-license/lib/inspec-license/cli.rb +26 -0
- data/lib/plugins/inspec-license/lib/inspec-license.rb +14 -0
- data/lib/plugins/inspec-parallel/README.md +27 -0
- data/lib/plugins/inspec-parallel/inspec-parallel.gemspec +6 -0
- data/lib/plugins/inspec-parallel/lib/inspec-parallel/child_status_reporter.rb +61 -0
- data/lib/plugins/inspec-parallel/lib/inspec-parallel/cli.rb +39 -0
- data/lib/plugins/inspec-parallel/lib/inspec-parallel/command.rb +219 -0
- data/lib/plugins/inspec-parallel/lib/inspec-parallel/runner.rb +265 -0
- data/lib/plugins/inspec-parallel/lib/inspec-parallel/super_reporter/base.rb +24 -0
- data/lib/plugins/inspec-parallel/lib/inspec-parallel/super_reporter/silent.rb +7 -0
- data/lib/plugins/inspec-parallel/lib/inspec-parallel/super_reporter/status.rb +124 -0
- data/lib/plugins/inspec-parallel/lib/inspec-parallel/super_reporter/text.rb +23 -0
- data/lib/plugins/inspec-parallel/lib/inspec-parallel/validator.rb +170 -0
- data/lib/plugins/inspec-parallel/lib/inspec-parallel.rb +18 -0
- data/lib/plugins/inspec-sign/lib/inspec-sign/base.rb +10 -11
- data/lib/plugins/inspec-sign/lib/inspec-sign/cli.rb +11 -4
- data/lib/plugins/inspec-streaming-reporter-progress-bar/lib/inspec-streaming-reporter-progress-bar/streaming_reporter.rb +6 -13
- data/lib/source_readers/inspec.rb +1 -1
- metadata +53 -39
@@ -1,5 +1,6 @@
|
|
1
1
|
require_relative "base"
|
2
2
|
require "inspec/dist"
|
3
|
+
require "inspec/feature"
|
3
4
|
|
4
5
|
#
|
5
6
|
# Notes:
|
@@ -85,8 +86,10 @@ module InspecPlugins
|
|
85
86
|
option :keydir, type: :string, default: "./",
|
86
87
|
desc: "Directory to search for keys"
|
87
88
|
def generate_keys
|
88
|
-
|
89
|
-
|
89
|
+
Inspec.with_feature("inspec-cli-sign-generate-keys") {
|
90
|
+
puts "Generating keys"
|
91
|
+
InspecPlugins::Sign::Base.keygen(options)
|
92
|
+
}
|
90
93
|
end
|
91
94
|
|
92
95
|
desc "profile PATH", "sign the profile in PATH and generate .iaf artifact."
|
@@ -95,12 +98,16 @@ module InspecPlugins
|
|
95
98
|
option :profile_content_id, type: :string,
|
96
99
|
desc: "UUID of the profile. This will write the profile_content_id in the metadata file if it does not already exist in the metadata file."
|
97
100
|
def profile(profile_path)
|
98
|
-
|
101
|
+
Inspec.with_feature("inspec-cli-sign-profile") {
|
102
|
+
InspecPlugins::Sign::Base.profile_sign(profile_path, options)
|
103
|
+
}
|
99
104
|
end
|
100
105
|
|
101
106
|
desc "verify PATH", "Verify a signed profile .iaf artifact at given path."
|
102
107
|
def verify(signed_profile_path)
|
103
|
-
|
108
|
+
Inspec.with_feature("inspec-cli-sign-verify") {
|
109
|
+
InspecPlugins::Sign::Base.profile_verify(signed_profile_path)
|
110
|
+
}
|
104
111
|
end
|
105
112
|
end
|
106
113
|
end
|
@@ -91,23 +91,20 @@ module InspecPlugins::StreamingReporterProgressBar
|
|
91
91
|
|
92
92
|
set_status_mapping(control_id, status)
|
93
93
|
collect_notifications(notification, control_id, status)
|
94
|
-
|
95
|
-
if control_ended
|
96
|
-
control_outcome = add_enhanced_outcomes(control_id) if enhanced_outcomes
|
97
|
-
show_progress(control_id, title, full_description, control_outcome)
|
98
|
-
end
|
94
|
+
show_progress(control_id, title, full_description) if control_ended?(notification, control_id)
|
99
95
|
end
|
100
96
|
|
101
|
-
def show_progress(control_id, title, full_description
|
97
|
+
def show_progress(control_id, title, full_description)
|
102
98
|
@bar ||= ProgressBar.new(controls_count, :bar, :counter, :percentage)
|
103
99
|
sleep 0.1
|
104
100
|
@bar.increment!
|
105
|
-
@bar.puts format_it(control_id, title, full_description
|
101
|
+
@bar.puts format_it(control_id, title, full_description)
|
106
102
|
rescue StandardError => e
|
107
103
|
raise "Exception in Progress Bar streaming reporter: #{e}"
|
108
104
|
end
|
109
105
|
|
110
|
-
def format_it(control_id, title, full_description
|
106
|
+
def format_it(control_id, title, full_description)
|
107
|
+
control_outcome = control_outcome(control_id)
|
111
108
|
if control_outcome
|
112
109
|
control_status = control_outcome
|
113
110
|
else
|
@@ -121,11 +118,7 @@ module InspecPlugins::StreamingReporterProgressBar
|
|
121
118
|
end
|
122
119
|
end
|
123
120
|
indicator = INDICATORS[control_status]
|
124
|
-
message_to_format =
|
125
|
-
message_to_format += "#{indicator} "
|
126
|
-
message_to_format += "#{control_id.to_s.strip.dup.force_encoding(Encoding::UTF_8)} "
|
127
|
-
message_to_format += "#{title.gsub(/\n*\s+/, " ").to_s.force_encoding(Encoding::UTF_8)} " if title
|
128
|
-
message_to_format += "#{full_description.gsub(/\n*\s+/, " ").to_s.force_encoding(Encoding::UTF_8)} " unless title
|
121
|
+
message_to_format = format_message(indicator, control_id, title, full_description)
|
129
122
|
format_with_color(control_status, message_to_format)
|
130
123
|
rescue Exception => e
|
131
124
|
raise "Exception in show_progress: #{e}"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inspec-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chef InSpec Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef-telemetry
|
@@ -59,7 +59,7 @@ dependencies:
|
|
59
59
|
version: '0.20'
|
60
60
|
- - "<"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 1.
|
62
|
+
version: 1.3.0
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -69,7 +69,7 @@ dependencies:
|
|
69
69
|
version: '0.20'
|
70
70
|
- - "<"
|
71
71
|
- !ruby/object:Gem::Version
|
72
|
-
version: 1.
|
72
|
+
version: 1.3.0
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
74
|
name: method_source
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,7 +99,7 @@ dependencies:
|
|
99
99
|
version: 1.2.2
|
100
100
|
- - "<"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
102
|
+
version: '3.0'
|
103
103
|
type: :runtime
|
104
104
|
prerelease: false
|
105
105
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
version: 1.2.2
|
110
110
|
- - "<"
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: '
|
112
|
+
version: '3.0'
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: rspec
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
@@ -119,7 +119,7 @@ dependencies:
|
|
119
119
|
version: '3.9'
|
120
120
|
- - "<="
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: '3.
|
122
|
+
version: '3.12'
|
123
123
|
type: :runtime
|
124
124
|
prerelease: false
|
125
125
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -129,27 +129,21 @@ dependencies:
|
|
129
129
|
version: '3.9'
|
130
130
|
- - "<="
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version: '3.
|
132
|
+
version: '3.12'
|
133
133
|
- !ruby/object:Gem::Dependency
|
134
134
|
name: rspec-its
|
135
135
|
requirement: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
|
-
- - "
|
137
|
+
- - "~>"
|
138
138
|
- !ruby/object:Gem::Version
|
139
139
|
version: '1.2'
|
140
|
-
- - "<"
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
version: '3.0'
|
143
140
|
type: :runtime
|
144
141
|
prerelease: false
|
145
142
|
version_requirements: !ruby/object:Gem::Requirement
|
146
143
|
requirements:
|
147
|
-
- - "
|
144
|
+
- - "~>"
|
148
145
|
- !ruby/object:Gem::Version
|
149
146
|
version: '1.2'
|
150
|
-
- - "<"
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '3.0'
|
153
147
|
- !ruby/object:Gem::Dependency
|
154
148
|
name: pry
|
155
149
|
requirement: !ruby/object:Gem::Requirement
|
@@ -191,9 +185,6 @@ dependencies:
|
|
191
185
|
- - "~>"
|
192
186
|
- !ruby/object:Gem::Version
|
193
187
|
version: '3.0'
|
194
|
-
- - "<"
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
version: '3.2'
|
197
188
|
type: :runtime
|
198
189
|
prerelease: false
|
199
190
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -201,9 +192,6 @@ dependencies:
|
|
201
192
|
- - "~>"
|
202
193
|
- !ruby/object:Gem::Version
|
203
194
|
version: '3.0'
|
204
|
-
- - "<"
|
205
|
-
- !ruby/object:Gem::Version
|
206
|
-
version: '3.2'
|
207
195
|
- !ruby/object:Gem::Dependency
|
208
196
|
name: sslshake
|
209
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -337,7 +325,7 @@ dependencies:
|
|
337
325
|
version: '1.5'
|
338
326
|
- - "<"
|
339
327
|
- !ruby/object:Gem::Version
|
340
|
-
version: '
|
328
|
+
version: '2.0'
|
341
329
|
type: :runtime
|
342
330
|
prerelease: false
|
343
331
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -347,7 +335,7 @@ dependencies:
|
|
347
335
|
version: '1.5'
|
348
336
|
- - "<"
|
349
337
|
- !ruby/object:Gem::Version
|
350
|
-
version: '
|
338
|
+
version: '2.0'
|
351
339
|
- !ruby/object:Gem::Dependency
|
352
340
|
name: semverse
|
353
341
|
requirement: !ruby/object:Gem::Requirement
|
@@ -377,47 +365,53 @@ dependencies:
|
|
377
365
|
- !ruby/object:Gem::Version
|
378
366
|
version: '2.0'
|
379
367
|
- !ruby/object:Gem::Dependency
|
380
|
-
name:
|
368
|
+
name: train-core
|
381
369
|
requirement: !ruby/object:Gem::Requirement
|
382
370
|
requirements:
|
383
371
|
- - ">="
|
384
372
|
- !ruby/object:Gem::Version
|
385
|
-
version:
|
373
|
+
version: 3.11.0
|
386
374
|
type: :runtime
|
387
375
|
prerelease: false
|
388
376
|
version_requirements: !ruby/object:Gem::Requirement
|
389
377
|
requirements:
|
390
378
|
- - ">="
|
391
379
|
- !ruby/object:Gem::Version
|
392
|
-
version:
|
380
|
+
version: 3.11.0
|
393
381
|
- !ruby/object:Gem::Dependency
|
394
|
-
name:
|
382
|
+
name: chef-licensing
|
395
383
|
requirement: !ruby/object:Gem::Requirement
|
396
384
|
requirements:
|
397
|
-
- - "
|
385
|
+
- - ">="
|
398
386
|
- !ruby/object:Gem::Version
|
399
|
-
version:
|
387
|
+
version: 0.7.5
|
400
388
|
type: :runtime
|
401
389
|
prerelease: false
|
402
390
|
version_requirements: !ruby/object:Gem::Requirement
|
403
391
|
requirements:
|
404
|
-
- - "
|
392
|
+
- - ">="
|
405
393
|
- !ruby/object:Gem::Version
|
406
|
-
version:
|
407
|
-
description:
|
408
|
-
You can use it for integration or even compliance testing. Create fully portable
|
409
|
-
test profiles and use them in your workflow to ensure stability and security. Integrate
|
410
|
-
InSpec in your change lifecycle for local testing, CI/CD, and deployment verification.
|
394
|
+
version: 0.7.5
|
395
|
+
description: |+
|
396
|
+
InSpec provides a framework for creating end-to-end infrastructure tests. You can use it for integration or even compliance testing. Create fully portable test profiles and use them in your workflow to ensure stability and security. Integrate InSpec in your change lifecycle for local testing, CI/CD, and deployment verification.
|
411
397
|
This has local support only. See the `inspec` gem for full support.
|
398
|
+
|
399
|
+
Packaged distributions of Progress® Chef® products obtained from RubyGems are made available pursuant to the Progress Chef EULA at https://www.chef.io/end-user-license-agreement, unless there is an executed agreement in effect between you and Progress that covers the Progress Chef products ("Master Agreement"), in which case the Master Agreement shall govern.
|
400
|
+
|
401
|
+
Source code obtained from the Chef GitHub repository is made available under Apache-2.0, a copy of which is included.
|
402
|
+
|
412
403
|
email:
|
413
404
|
- inspec@chef.io
|
414
405
|
executables: []
|
415
406
|
extensions: []
|
416
407
|
extra_rdoc_files: []
|
417
408
|
files:
|
409
|
+
- Chef-EULA
|
418
410
|
- Gemfile
|
419
411
|
- LICENSE
|
420
412
|
- etc/deprecations.json
|
413
|
+
- etc/features.sig
|
414
|
+
- etc/features.yaml
|
421
415
|
- etc/keys/progress-2022-05-04.pem.pub
|
422
416
|
- etc/plugin_filters.json
|
423
417
|
- inspec-core.gemspec
|
@@ -460,6 +454,9 @@ files:
|
|
460
454
|
- lib/inspec/errors.rb
|
461
455
|
- lib/inspec/exceptions.rb
|
462
456
|
- lib/inspec/expect.rb
|
457
|
+
- lib/inspec/feature.rb
|
458
|
+
- lib/inspec/feature/config.rb
|
459
|
+
- lib/inspec/feature/runner.rb
|
463
460
|
- lib/inspec/fetcher.rb
|
464
461
|
- lib/inspec/fetcher/git.rb
|
465
462
|
- lib/inspec/fetcher/local.rb
|
@@ -736,6 +733,7 @@ files:
|
|
736
733
|
- lib/inspec/utils/install_context.rb
|
737
734
|
- lib/inspec/utils/json_log.rb
|
738
735
|
- lib/inspec/utils/json_profile_summary.rb
|
736
|
+
- lib/inspec/utils/licensing_config.rb
|
739
737
|
- lib/inspec/utils/modulator.rb
|
740
738
|
- lib/inspec/utils/nginx_parser.rb
|
741
739
|
- lib/inspec/utils/object_traversal.rb
|
@@ -820,6 +818,22 @@ files:
|
|
820
818
|
- lib/plugins/inspec-init/templates/resources/basic/libraries/inspec-resource-template.erb
|
821
819
|
- lib/plugins/inspec-init/templates/resources/plural/docs/resource-doc.erb
|
822
820
|
- lib/plugins/inspec-init/templates/resources/plural/libraries/inspec-resource-template.erb
|
821
|
+
- lib/plugins/inspec-license/README.md
|
822
|
+
- lib/plugins/inspec-license/inspec-license.gemspec
|
823
|
+
- lib/plugins/inspec-license/lib/inspec-license.rb
|
824
|
+
- lib/plugins/inspec-license/lib/inspec-license/cli.rb
|
825
|
+
- lib/plugins/inspec-parallel/README.md
|
826
|
+
- lib/plugins/inspec-parallel/inspec-parallel.gemspec
|
827
|
+
- lib/plugins/inspec-parallel/lib/inspec-parallel.rb
|
828
|
+
- lib/plugins/inspec-parallel/lib/inspec-parallel/child_status_reporter.rb
|
829
|
+
- lib/plugins/inspec-parallel/lib/inspec-parallel/cli.rb
|
830
|
+
- lib/plugins/inspec-parallel/lib/inspec-parallel/command.rb
|
831
|
+
- lib/plugins/inspec-parallel/lib/inspec-parallel/runner.rb
|
832
|
+
- lib/plugins/inspec-parallel/lib/inspec-parallel/super_reporter/base.rb
|
833
|
+
- lib/plugins/inspec-parallel/lib/inspec-parallel/super_reporter/silent.rb
|
834
|
+
- lib/plugins/inspec-parallel/lib/inspec-parallel/super_reporter/status.rb
|
835
|
+
- lib/plugins/inspec-parallel/lib/inspec-parallel/super_reporter/text.rb
|
836
|
+
- lib/plugins/inspec-parallel/lib/inspec-parallel/validator.rb
|
823
837
|
- lib/plugins/inspec-plugin-manager-cli/README.md
|
824
838
|
- lib/plugins/inspec-plugin-manager-cli/inspec-plugin-manager-cli.gemspec
|
825
839
|
- lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli.rb
|
@@ -863,7 +877,7 @@ files:
|
|
863
877
|
- lib/source_readers/inspec.rb
|
864
878
|
homepage: https://github.com/inspec/inspec
|
865
879
|
licenses:
|
866
|
-
-
|
880
|
+
- LicenseRef-Chef-EULA
|
867
881
|
metadata: {}
|
868
882
|
post_install_message:
|
869
883
|
rdoc_options: []
|
@@ -873,14 +887,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
873
887
|
requirements:
|
874
888
|
- - ">="
|
875
889
|
- !ruby/object:Gem::Version
|
876
|
-
version:
|
890
|
+
version: '2.7'
|
877
891
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
878
892
|
requirements:
|
879
893
|
- - ">="
|
880
894
|
- !ruby/object:Gem::Version
|
881
895
|
version: '0'
|
882
896
|
requirements: []
|
883
|
-
rubygems_version: 3.
|
897
|
+
rubygems_version: 3.1.4
|
884
898
|
signing_key:
|
885
899
|
specification_version: 4
|
886
900
|
summary: Infrastructure and compliance testing. Core library.
|