inspec-core 4.18.39 → 4.18.51
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bundles/inspec-supermarket/target.rb +1 -1
- data/lib/inspec/base_cli.rb +2 -0
- data/lib/inspec/cached_fetcher.rb +1 -1
- data/lib/inspec/cli.rb +4 -0
- data/lib/inspec/config.rb +1 -1
- data/lib/inspec/fetcher.rb +6 -4
- data/lib/{fetchers → inspec/fetcher}/git.rb +6 -6
- data/lib/{fetchers → inspec/fetcher}/local.rb +5 -2
- data/lib/{fetchers → inspec/fetcher}/mock.rb +1 -1
- data/lib/{fetchers → inspec/fetcher}/url.rb +17 -8
- data/lib/inspec/plugin/v1/plugin_types/fetcher.rb +1 -1
- data/lib/inspec/plugin/v2/installer.rb +7 -1
- data/lib/inspec/resources/gem.rb +4 -1
- data/lib/inspec/resources/mssql_session.rb +1 -1
- data/lib/inspec/resources/shadow.rb +0 -6
- data/lib/inspec/resources/users.rb +6 -0
- data/lib/inspec/rspec_extensions.rb +7 -8
- data/lib/inspec/runner.rb +3 -1
- data/lib/inspec/runner_rspec.rb +17 -10
- data/lib/inspec/utils/parser.rb +2 -2
- data/lib/inspec/version.rb +1 -1
- data/lib/matchers/matchers.rb +1 -1
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/target.rb +1 -1
- data/lib/plugins/inspec-habitat/templates/habitat/plan.sh.erb +0 -2
- metadata +20 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91c5fa977076e418e2372d7a78cbc45383cbec50ee57c7126b7625aef4a1a606
|
4
|
+
data.tar.gz: fe4ee768878acdaddf4c933ed0e41f899319fccaff69a19f942ddbbb7771b9a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00c1bfcaef4c1b42f5d16d3d1eab4255a67959b9fd7e6f8c9494fdcd6a324afc20a4059c8c30521036e6a996a839eda354b84194cde32549e63301b4f4a28dfc
|
7
|
+
data.tar.gz: c40df12e404ec13c2fd1ef689e0d59e5ea6435d534763effad5372ce027fa0732e8a19f307b50761da7ecad8f6a438f7c5c4de989d024ba5d5274d7883b97355
|
data/lib/inspec/base_cli.rb
CHANGED
@@ -8,6 +8,8 @@ require "inspec/utils/deprecation/global_method"
|
|
8
8
|
# Allow end of options during array type parsing
|
9
9
|
# https://github.com/erikhuda/thor/issues/631
|
10
10
|
class Thor::Arguments
|
11
|
+
alias old_parse_array parse_array
|
12
|
+
|
11
13
|
def parse_array(_name)
|
12
14
|
return shift if peek.is_a?(Array)
|
13
15
|
|
@@ -8,7 +8,7 @@ module Inspec
|
|
8
8
|
attr_reader :cache, :target, :fetcher
|
9
9
|
def initialize(target, cache)
|
10
10
|
@target = target
|
11
|
-
@fetcher = Inspec::Fetcher.resolve(target)
|
11
|
+
@fetcher = Inspec::Fetcher::Registry.resolve(target)
|
12
12
|
|
13
13
|
if @fetcher.nil?
|
14
14
|
raise("Could not fetch inspec profile in #{target.inspect}.")
|
data/lib/inspec/cli.rb
CHANGED
data/lib/inspec/config.rb
CHANGED
@@ -6,7 +6,6 @@ require "stringio"
|
|
6
6
|
require "forwardable"
|
7
7
|
require "thor"
|
8
8
|
require "base64"
|
9
|
-
require "inspec/base_cli"
|
10
9
|
require "inspec/plugin/v2/filter"
|
11
10
|
|
12
11
|
module Inspec
|
@@ -422,6 +421,7 @@ module Inspec
|
|
422
421
|
|
423
422
|
def finalize_set_top_level_command(options)
|
424
423
|
options[:type] = @command_name
|
424
|
+
require "inspec/base_cli"
|
425
425
|
Inspec::BaseCLI.inspec_cli_command = @command_name # TODO: move to a more relevant location
|
426
426
|
end
|
427
427
|
|
data/lib/inspec/fetcher.rb
CHANGED
@@ -26,7 +26,9 @@ module Inspec
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
Fetcher
|
29
|
+
module Fetcher
|
30
|
+
Registry = FetcherRegistry.new
|
31
|
+
end
|
30
32
|
|
31
33
|
def self.fetcher(version)
|
32
34
|
if version != 1
|
@@ -38,9 +40,9 @@ module Inspec
|
|
38
40
|
end
|
39
41
|
|
40
42
|
# TODO: remove. require up, not down.
|
41
|
-
require "
|
42
|
-
require "
|
43
|
-
require "
|
43
|
+
require "inspec/fetcher/local"
|
44
|
+
require "inspec/fetcher/url"
|
45
|
+
require "inspec/fetcher/git"
|
44
46
|
|
45
47
|
# TODO: Remove in 4.0 when Compliance fetcher plugin is created
|
46
48
|
require "plugins/inspec-compliance/lib/inspec-compliance/api"
|
@@ -3,7 +3,7 @@ require "fileutils"
|
|
3
3
|
require "mixlib/shellout"
|
4
4
|
require "inspec/log"
|
5
5
|
|
6
|
-
module
|
6
|
+
module Inspec::Fetcher
|
7
7
|
#
|
8
8
|
# The git fetcher uses the git binary to fetch remote git sources.
|
9
9
|
# Git-based sources should be specified with the `git:` key in the
|
@@ -90,8 +90,8 @@ module Fetchers
|
|
90
90
|
# vendoring to something more complex, don't bother.
|
91
91
|
FileUtils.rmdir(destination_path) if Dir.empty?(destination_path)
|
92
92
|
|
93
|
-
raise
|
94
|
-
|
93
|
+
raise Inspec::FetcherFailure, "Cannot find relative path '#{@relative_path}' " \
|
94
|
+
"within profile in git repo specified by '#{@remote_url}'"
|
95
95
|
end
|
96
96
|
FileUtils.cp_r("#{working_dir}/#{@relative_path}", destination_path)
|
97
97
|
end
|
@@ -129,11 +129,11 @@ module Fetchers
|
|
129
129
|
def resolve_ref(ref_name)
|
130
130
|
command_string = "git ls-remote \"#{@remote_url}\" \"#{ref_name}*\""
|
131
131
|
cmd = shellout(command_string)
|
132
|
-
raise "
|
132
|
+
raise(Inspec::FetcherFailure, "Profile git dependency failed for #{@remote_url} - error running '#{command_string}': #{cmd.stderr}") unless cmd.exitstatus == 0
|
133
133
|
|
134
134
|
ref = parse_ls_remote(cmd.stdout, ref_name)
|
135
135
|
unless ref
|
136
|
-
raise "
|
136
|
+
raise Inspec::FetcherFailure, "Profile git dependency failed - unable to resolve #{ref_name} to a specific git commit for #{@remote_url}"
|
137
137
|
end
|
138
138
|
|
139
139
|
ref
|
@@ -191,7 +191,7 @@ module Fetchers
|
|
191
191
|
cmd.error!
|
192
192
|
cmd.status
|
193
193
|
rescue Errno::ENOENT
|
194
|
-
raise "
|
194
|
+
raise Inspec::FetcherFailure, "Profile git dependency failed for #{@remote_url} - to use git sources, you must have git installed."
|
195
195
|
end
|
196
196
|
|
197
197
|
def shellout(cmd, opts = {})
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require "openssl"
|
2
2
|
|
3
|
-
module
|
3
|
+
module Inspec::Fetcher
|
4
4
|
class Local < Inspec.fetcher(1)
|
5
5
|
name "local"
|
6
6
|
priority 0
|
@@ -101,7 +101,10 @@ module Fetchers
|
|
101
101
|
end
|
102
102
|
|
103
103
|
def perform_shasum(target)
|
104
|
-
@archive_shasum
|
104
|
+
return @archive_shasum if @archive_shasum
|
105
|
+
raise(Inspec::FetcherFailure, "Profile dependency local path '#{target}' does not exist") unless File.exist?(target)
|
106
|
+
|
107
|
+
@archive_shasum = OpenSSL::Digest::SHA256.digest(File.read(target)).unpack("H*")[0]
|
105
108
|
end
|
106
109
|
|
107
110
|
def resolved_source
|
@@ -3,7 +3,7 @@ require "openssl"
|
|
3
3
|
require "tempfile"
|
4
4
|
require "open-uri"
|
5
5
|
|
6
|
-
module
|
6
|
+
module Inspec::Fetcher
|
7
7
|
class Url < Inspec.fetcher(1)
|
8
8
|
MIME_TYPES = {
|
9
9
|
"application/x-zip-compressed" => ".zip",
|
@@ -205,15 +205,24 @@ module Fetchers
|
|
205
205
|
@temp_archive_path = archive.path
|
206
206
|
end
|
207
207
|
|
208
|
+
def open(target, opts) # overridden so we can control who we're talking to
|
209
|
+
URI.open(target, opts)
|
210
|
+
rescue NoMethodError # TODO: remove when we drop ruby 2.4
|
211
|
+
super(target, opts) # Kernel#open
|
212
|
+
end
|
213
|
+
|
208
214
|
def open_via_uri(target)
|
209
215
|
opts = http_opts
|
210
216
|
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
+
# OpenURI does not support userinfo so we need to remove it
|
218
|
+
# https://ruby-doc.org/stdlib-2.5.0/libdoc/open-uri/rdoc/OpenURI/OpenRead.html#method-i-open
|
219
|
+
target = target.sub("#{@target_uri.userinfo}@", "") if
|
220
|
+
opts[:http_basic_authentication]
|
221
|
+
|
222
|
+
open(target, opts)
|
223
|
+
|
224
|
+
rescue SocketError, Errno::ECONNREFUSED, OpenURI::HTTPError => e
|
225
|
+
raise Inspec::FetcherFailure, "Profile URL dependency #{target} could not be fetched: #{e.message}"
|
217
226
|
end
|
218
227
|
|
219
228
|
def download_archive(path)
|
@@ -264,7 +273,7 @@ module Fetchers
|
|
264
273
|
end
|
265
274
|
end
|
266
275
|
unless keys_missing_values.empty?
|
267
|
-
raise "Unable to fetch profile - the following HTTP headers have no value: " \
|
276
|
+
raise Inspec::FetcherFailure, "Unable to fetch profile - the following HTTP headers have no value: " \
|
268
277
|
"#{keys_missing_values.join(", ")}"
|
269
278
|
end
|
270
279
|
end
|
@@ -431,7 +431,13 @@ module Inspec::Plugin::V2
|
|
431
431
|
end
|
432
432
|
|
433
433
|
# find all gem specification directories
|
434
|
-
|
434
|
+
|
435
|
+
spec_dir = if Gem.respond_to? :default_specifications_dir
|
436
|
+
Gem.default_specifications_dir
|
437
|
+
else
|
438
|
+
Gem::Specification.default_specifications_dir
|
439
|
+
end
|
440
|
+
directories = [spec_dir]
|
435
441
|
unless defined?(::Bundler)
|
436
442
|
# add in any others that do not start with the user directory
|
437
443
|
directories += Gem::Specification.dirs.find_all do |path|
|
data/lib/inspec/resources/gem.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
require "inspec/
|
1
|
+
# circular: require "inspec/resource"
|
2
|
+
# but... already being included by inspec/resource.rb
|
2
3
|
|
3
4
|
module Inspec::Resources
|
4
5
|
class GemPackage < Inspec.resource(1)
|
@@ -38,6 +39,8 @@ module Inspec::Resources
|
|
38
39
|
def info
|
39
40
|
return @info if defined?(@info)
|
40
41
|
|
42
|
+
require "inspec/resources/command"
|
43
|
+
|
41
44
|
cmd = inspec.command("#{@gem_binary} list --local -a -q \^#{@package_name}\$")
|
42
45
|
return {} unless cmd.exit_status == 0
|
43
46
|
|
@@ -52,12 +52,6 @@ module Inspec::Resources
|
|
52
52
|
.register_column(:inactive_days, field: "inactive_days")
|
53
53
|
.register_column(:expiry_dates, field: "expiry_date")
|
54
54
|
.register_column(:reserved, field: "reserved")
|
55
|
-
# These are deprecated, but we need to "alias" them
|
56
|
-
filtertable
|
57
|
-
.register_custom_property(:user) { |table, value| table.resource.user(value) }
|
58
|
-
.register_custom_property(:password) { |table, value| table.resource.password(value) }
|
59
|
-
.register_custom_property(:last_change) { |table, value| table.resource.last_change(value) }
|
60
|
-
.register_custom_property(:expiry_date) { |table, value| table.resource.expiry_date(value) }
|
61
55
|
|
62
56
|
filtertable.register_custom_property(:content) do |t, _|
|
63
57
|
t.entries.map do |e|
|
@@ -223,6 +223,10 @@ module Inspec::Resources
|
|
223
223
|
meta_info[:userflags] unless meta_info.nil?
|
224
224
|
end
|
225
225
|
|
226
|
+
def lastlogin
|
227
|
+
meta_info[:lastlogin] unless meta_info.nil?
|
228
|
+
end
|
229
|
+
|
226
230
|
# returns the minimum days between password changes
|
227
231
|
def mindays
|
228
232
|
credentials[:mindays] unless credentials.nil?
|
@@ -632,6 +636,7 @@ module Inspec::Resources
|
|
632
636
|
shell: res[:shell],
|
633
637
|
domain: res[:domain],
|
634
638
|
userflags: res[:userflags],
|
639
|
+
lastlogin: res[:lastlogin],
|
635
640
|
}
|
636
641
|
end
|
637
642
|
|
@@ -715,6 +720,7 @@ module Inspec::Resources
|
|
715
720
|
home = $_.HomeDirectory[0]
|
716
721
|
shell = $null
|
717
722
|
domain = $Computername
|
723
|
+
lastlogin = if($_.lastlogin.getType().Tostring() -eq "System.Management.Automation.PSMethod" ){ $null }else{[String]$_.lastlogin}
|
718
724
|
}
|
719
725
|
} | ConvertTo-Json
|
720
726
|
EOH
|
@@ -11,14 +11,13 @@ module Inspec
|
|
11
11
|
module DescribeDslLazyLoader
|
12
12
|
# Support for Describe DSL plugins
|
13
13
|
def method_missing(method_name, *arguments, &block)
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
# end
|
14
|
+
begin
|
15
|
+
backend = metadata[:backend] # populated via Inspec::Runner#add_resource
|
16
|
+
resource = Inspec::DSL.method_missing_resource(backend, method_name, *arguments)
|
17
|
+
return resource if resource
|
18
|
+
rescue LoadError
|
19
|
+
# pass through
|
20
|
+
end
|
22
21
|
|
23
22
|
# Check to see if there is a describe_dsl plugin activator hook with the method name
|
24
23
|
registry = Inspec::Plugin::V2::Registry.instance
|
data/lib/inspec/runner.rb
CHANGED
@@ -228,7 +228,7 @@ module Inspec
|
|
228
228
|
end
|
229
229
|
|
230
230
|
def eval_with_virtual_profile(command)
|
231
|
-
require "
|
231
|
+
require "inspec/fetcher/mock"
|
232
232
|
add_target({ "inspec.yml" => "name: inspec-shell" })
|
233
233
|
our_profile = @target_profiles.first
|
234
234
|
ctx = our_profile.runner_context
|
@@ -307,6 +307,8 @@ module Inspec
|
|
307
307
|
def add_resource(method_name, arg, opts, block)
|
308
308
|
case method_name
|
309
309
|
when "describe"
|
310
|
+
opts = { backend: @test_collector.backend }.merge opts
|
311
|
+
|
310
312
|
@test_collector.example_group(*arg, opts, &block)
|
311
313
|
when "expect"
|
312
314
|
block.example_group
|
data/lib/inspec/runner_rspec.rb
CHANGED
@@ -10,6 +10,8 @@ require "inspec/rspec_extensions"
|
|
10
10
|
|
11
11
|
module Inspec
|
12
12
|
class RunnerRspec
|
13
|
+
attr_accessor :formatter
|
14
|
+
|
13
15
|
def initialize(conf)
|
14
16
|
@conf = conf
|
15
17
|
@formatter = nil
|
@@ -22,19 +24,26 @@ module Inspec
|
|
22
24
|
# @param [Type] &block the block associated with this example group
|
23
25
|
# @return [RSpecExampleGroup]
|
24
26
|
def example_group(*args, &block)
|
27
|
+
# NOTE: this RUNS immediately
|
25
28
|
RSpec::Core::ExampleGroup.describe(*args, &block)
|
26
29
|
end
|
27
30
|
|
31
|
+
def formatters
|
32
|
+
RSpec.configuration.formatters.grep(Inspec::Formatters::Base)
|
33
|
+
end
|
34
|
+
|
28
35
|
# Add a full profile to the runner. Only pulls in metadata
|
29
36
|
#
|
30
37
|
# @param [Inspec::Profile] profile
|
31
38
|
# @return [nil]
|
32
39
|
def add_profile(profile)
|
33
|
-
|
34
|
-
.
|
35
|
-
|
36
|
-
|
37
|
-
|
40
|
+
formatters.each do |fmt|
|
41
|
+
fmt.add_profile(profile)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def backend
|
46
|
+
formatters.first.backend
|
38
47
|
end
|
39
48
|
|
40
49
|
# Configure the backend of the runner.
|
@@ -42,11 +51,9 @@ module Inspec
|
|
42
51
|
# @param [Inspec::Backend] backend
|
43
52
|
# @return [nil]
|
44
53
|
def backend=(backend)
|
45
|
-
|
46
|
-
.
|
47
|
-
|
48
|
-
fmt.backend = backend
|
49
|
-
end
|
54
|
+
formatters.each do |fmt|
|
55
|
+
fmt.backend = backend
|
56
|
+
end
|
50
57
|
end
|
51
58
|
|
52
59
|
# Add an example group to the list of registered tests.
|
data/lib/inspec/utils/parser.rb
CHANGED
@@ -227,6 +227,8 @@ module XinetdParser
|
|
227
227
|
def parse_xinetd(raw) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
228
228
|
return {} if raw.nil?
|
229
229
|
|
230
|
+
require "inspec/utils/simpleconfig"
|
231
|
+
|
230
232
|
res = {}
|
231
233
|
cur_group = nil
|
232
234
|
simple_conf = []
|
@@ -273,5 +275,3 @@ module XinetdParser
|
|
273
275
|
res
|
274
276
|
end
|
275
277
|
end
|
276
|
-
|
277
|
-
require "inspec/utils/simpleconfig"
|
data/lib/inspec/version.rb
CHANGED
data/lib/matchers/matchers.rb
CHANGED
@@ -254,7 +254,7 @@ RSpec::Matchers.define :cmp do |first_expected| # rubocop:disable Metrics/BlockL
|
|
254
254
|
return actual.send(op, expected.to_i)
|
255
255
|
elsif expected.is_a?(String) && boolean?(expected) && [true, false].include?(actual)
|
256
256
|
return actual.send(op, to_boolean(expected))
|
257
|
-
elsif expected.is_a?(Integer) && integer?(actual)
|
257
|
+
elsif expected.is_a?(Integer) && actual.is_a?(String) && integer?(actual)
|
258
258
|
return actual.to_i.send(op, expected)
|
259
259
|
elsif expected.is_a?(Float) && float?(actual)
|
260
260
|
return actual.to_f.send(op, expected)
|
@@ -8,7 +8,7 @@ require "inspec/dist"
|
|
8
8
|
# similar to `inspec exec http://localhost:2134/owners/%base%/compliance/%ssh%/tar --user %token%`
|
9
9
|
module InspecPlugins
|
10
10
|
module Compliance
|
11
|
-
class Fetcher <
|
11
|
+
class Fetcher < Inspec::Fetcher::Url
|
12
12
|
include Inspec::Dist
|
13
13
|
|
14
14
|
name "compliance"
|
@@ -1,8 +1,6 @@
|
|
1
1
|
pkg_name=<%= "inspec-profile-#{profile.name}" %>
|
2
2
|
pkg_version=<%= profile.version %>
|
3
3
|
pkg_origin=<%= habitat_origin %>
|
4
|
-
pkg_deps=(chef/inspec)
|
5
|
-
pkg_build_deps=(chef/inspec core/jq-static)
|
6
4
|
pkg_svc_user=root
|
7
5
|
<%= "pkg_license='#{profile.metadata.params[:license]}'" if profile.metadata.params[:license]%>
|
8
6
|
pkg_scaffolding="chef/scaffolding-chef-inspec"
|
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.18.
|
4
|
+
version: 4.18.51
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dominik Richter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-11
|
11
|
+
date: 2019-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: train-core
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '3.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: chef-telemetry
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: license-acceptance
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,9 +119,6 @@ dependencies:
|
|
105
119
|
requirement: !ruby/object:Gem::Requirement
|
106
120
|
requirements:
|
107
121
|
- - "~>"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '3.0'
|
110
|
-
- - "<"
|
111
122
|
- !ruby/object:Gem::Version
|
112
123
|
version: '3.9'
|
113
124
|
type: :runtime
|
@@ -115,9 +126,6 @@ dependencies:
|
|
115
126
|
version_requirements: !ruby/object:Gem::Requirement
|
116
127
|
requirements:
|
117
128
|
- - "~>"
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
version: '3.0'
|
120
|
-
- - "<"
|
121
129
|
- !ruby/object:Gem::Version
|
122
130
|
version: '3.9'
|
123
131
|
- !ruby/object:Gem::Dependency
|
@@ -380,10 +388,6 @@ files:
|
|
380
388
|
- lib/bundles/inspec-supermarket/api.rb
|
381
389
|
- lib/bundles/inspec-supermarket/cli.rb
|
382
390
|
- lib/bundles/inspec-supermarket/target.rb
|
383
|
-
- lib/fetchers/git.rb
|
384
|
-
- lib/fetchers/local.rb
|
385
|
-
- lib/fetchers/mock.rb
|
386
|
-
- lib/fetchers/url.rb
|
387
391
|
- lib/inspec.rb
|
388
392
|
- lib/inspec/archive/tar.rb
|
389
393
|
- lib/inspec/archive/zip.rb
|
@@ -410,6 +414,10 @@ files:
|
|
410
414
|
- lib/inspec/exceptions.rb
|
411
415
|
- lib/inspec/expect.rb
|
412
416
|
- lib/inspec/fetcher.rb
|
417
|
+
- lib/inspec/fetcher/git.rb
|
418
|
+
- lib/inspec/fetcher/local.rb
|
419
|
+
- lib/inspec/fetcher/mock.rb
|
420
|
+
- lib/inspec/fetcher/url.rb
|
413
421
|
- lib/inspec/file_provider.rb
|
414
422
|
- lib/inspec/formatters.rb
|
415
423
|
- lib/inspec/formatters/base.rb
|