inspec 3.0.12 → 3.0.25

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b84e3860f60f0346c8284b8eff2633018d13c3f48c43f214d883f472e96881e8
4
- data.tar.gz: d336c4d15225faf7cd54644426bf06111848e2aaa8697519c485fc47bc322e6a
3
+ metadata.gz: 700c2c2e139df82d21cd61a364c6c5bb6196fbdde2cfc9744158393016517829
4
+ data.tar.gz: 692f3fe6d15c7b53ba72c6021f94be6f68221c9ca968b0afe57f01a9309c259d
5
5
  SHA512:
6
- metadata.gz: 54976889ef811f88ace3a5eda1cf57520092f8d9cf30b5cbfe6d245c77238fe686472bf81926e748a51ea717a0672d77c150f05fd6485eca52a015c9bddd9a78
7
- data.tar.gz: ca315a5ad6e3bcd3c9f27d16fba27eaddf545fbdc94b41c4cddde6ee7a62ed253758cd60bcc31150393d973fdfa664ee49f57f26d65936cd7b608c530d569eaf
6
+ metadata.gz: 2821d882bee10794b31c1df6953faec5ae3a7ef67b011f64744cce1aa896c65160895258c349ae56115b77c3245ba2d44d8780e760f023683b91aad3acc8f187
7
+ data.tar.gz: 9d53539b5fe2f7083bca609663fd6e883de379146d9c97e82edd808be123b55db28de54ace378641998dcf36185bebddb15f12fdf46cf9e6c92ce07febeb49d3
@@ -1,26 +1,43 @@
1
1
  # Change Log
2
2
  <!-- usage documentation: http://expeditor-docs.es.chef.io/configuration/changelog/ -->
3
- <!-- latest_release 3.0.12 -->
4
- ## [v3.0.12](https://github.com/inspec/inspec/tree/v3.0.12) (2018-10-24)
3
+ <!-- latest_release 3.0.25 -->
4
+ ## [v3.0.25](https://github.com/inspec/inspec/tree/v3.0.25) (2018-11-01)
5
5
 
6
- #### Bug Fixes
7
- - Update to safe navigation exit code search [#3541](https://github.com/inspec/inspec/pull/3541) ([jquick](https://github.com/jquick))
6
+ #### Merged Pull Requests
7
+ - bump expeditor version [#3569](https://github.com/inspec/inspec/pull/3569) ([jquick](https://github.com/jquick))
8
8
  <!-- latest_release -->
9
9
 
10
- <!-- release_rollup since=3.0.9 -->
11
- ### Changes since 3.0.9 release
10
+ <!-- release_rollup since=3.0.12 -->
11
+ ### Changes since 3.0.12 release
12
12
 
13
13
  #### Bug Fixes
14
- - Update to safe navigation exit code search [#3541](https://github.com/inspec/inspec/pull/3541) ([jquick](https://github.com/jquick)) <!-- 3.0.12 -->
14
+ - Change usage of `Dir.home` to `Inspec.config_dir` [#3567](https://github.com/inspec/inspec/pull/3567) ([jerryaldrichiii](https://github.com/jerryaldrichiii)) <!-- 3.0.19 -->
15
+
16
+ #### Enhancements
17
+ - Allow help args after Thor commands [#3553](https://github.com/inspec/inspec/pull/3553) ([jquick](https://github.com/jquick)) <!-- 3.0.17 -->
18
+ - ✓ adds additional checks for vendored profiles [#3362](https://github.com/inspec/inspec/pull/3362) ([chris-rock](https://github.com/chris-rock)) <!-- 3.0.14 -->
15
19
 
16
20
  #### Merged Pull Requests
17
- - Add inspec/train vault to plugin exclusion [#3532](https://github.com/inspec/inspec/pull/3532) ([jquick](https://github.com/jquick)) <!-- 3.0.11 -->
21
+ - bump expeditor version [#3569](https://github.com/inspec/inspec/pull/3569) ([jquick](https://github.com/jquick)) <!-- 3.0.25 -->
22
+ - Pin to train 1.5.6 [#3568](https://github.com/inspec/inspec/pull/3568) ([jquick](https://github.com/jquick)) <!-- 3.0.18 -->
23
+ - Allow end of options during Thor array parsing [#3547](https://github.com/inspec/inspec/pull/3547) ([jquick](https://github.com/jquick)) <!-- 3.0.16 -->
24
+ - Modernize omnibus config and reduce omnibus package size [#3543](https://github.com/inspec/inspec/pull/3543) ([tas50](https://github.com/tas50)) <!-- 3.0.15 -->
25
+ - Adding inspec init profile for GCP. [#3484](https://github.com/inspec/inspec/pull/3484) ([skpaterson](https://github.com/skpaterson)) <!-- 3.0.13 -->
26
+ <!-- release_rollup -->
27
+
28
+ <!-- latest_stable_release -->
29
+ ## [v3.0.12](https://github.com/inspec/inspec/tree/v3.0.12) (2018-10-24)
18
30
 
19
31
  #### New Resources
20
- - New resource to work with Windows security identifiers (SIDs) [#3405](https://github.com/inspec/inspec/pull/3405) ([james-stocks](https://github.com/james-stocks)) <!-- 3.0.10 -->
21
- <!-- release_rollup -->
32
+ - New resource to work with Windows security identifiers (SIDs) [#3405](https://github.com/inspec/inspec/pull/3405) ([james-stocks](https://github.com/james-stocks))
33
+
34
+ #### Bug Fixes
35
+ - Update to safe navigation exit code search [#3541](https://github.com/inspec/inspec/pull/3541) ([jquick](https://github.com/jquick))
22
36
 
37
+ #### Merged Pull Requests
38
+ - Add inspec/train vault to plugin exclusion [#3532](https://github.com/inspec/inspec/pull/3532) ([jquick](https://github.com/jquick))
23
39
  <!-- latest_stable_release -->
40
+
24
41
  ## [v3.0.9](https://github.com/inspec/inspec/tree/v3.0.9) (2018-10-18)
25
42
 
26
43
  #### Enhancements
@@ -37,7 +54,6 @@
37
54
  - Add debug and sort options for plugins [#3530](https://github.com/inspec/inspec/pull/3530) ([jquick](https://github.com/jquick))
38
55
  - Pin inspec to the new train [#3531](https://github.com/inspec/inspec/pull/3531) ([jquick](https://github.com/jquick))
39
56
  - Add missing tests for groups resource, document members property, and assorted fixes. [#3467](https://github.com/inspec/inspec/pull/3467) ([miah](https://github.com/miah))
40
- <!-- latest_stable_release -->
41
57
 
42
58
  ## [v3.0.0](https://github.com/inspec/inspec/tree/v3.0.0) (2018-10-15)
43
59
 
data/README.md CHANGED
@@ -452,4 +452,4 @@ Unless required by applicable law or agreed to in writing, software
452
452
  distributed under the License is distributed on an "AS IS" BASIS,
453
453
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
454
454
  See the License for the specific language governing permissions and
455
- limitations under the License.
455
+ limitations under the License.
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
 
27
27
  spec.required_ruby_version = '>= 2.3'
28
28
 
29
- spec.add_dependency 'train', '~> 1.5', '>= 1.5.4'
29
+ spec.add_dependency 'train', '~> 1.5', '>= 1.5.6'
30
30
  spec.add_dependency 'thor', '~> 0.20'
31
31
  spec.add_dependency 'json', '>= 1.8', '< 3.0'
32
32
  spec.add_dependency 'method_source', '~> 0.8'
@@ -6,6 +6,20 @@ require 'thor'
6
6
  require 'inspec/log'
7
7
  require 'inspec/profile_vendor'
8
8
 
9
+ # Allow end of options during array type parsing
10
+ # https://github.com/erikhuda/thor/issues/631
11
+ class Thor::Arguments
12
+ def parse_array(_name)
13
+ return shift if peek.is_a?(Array)
14
+ array = []
15
+ while current_is_value?
16
+ break unless @parsing_options
17
+ array << shift
18
+ end
19
+ array
20
+ end
21
+ end
22
+
9
23
  module Inspec
10
24
  class BaseCLI < Thor
11
25
  class << self
@@ -293,6 +293,17 @@ class Inspec::InspecCLI < Inspec::BaseCLI
293
293
  end
294
294
 
295
295
  begin
296
+ # Handle help commands
297
+ # This allows you to use any of the normal help commands after the normal args.
298
+ help_commands = ['-h', '--help', 'help']
299
+ (help_commands & ARGV).each do |cmd|
300
+ # move the help argument to one place behind the end for Thor to digest
301
+ if ARGV.size > 1
302
+ match = ARGV.delete(cmd)
303
+ ARGV.insert(-2, match)
304
+ end
305
+ end
306
+
296
307
  # Load v2 plugins
297
308
  v2_loader = Inspec::Plugin::V2::Loader.new
298
309
  v2_loader.load_all
@@ -34,7 +34,7 @@ module Inspec
34
34
  @paths += Dir[lib_home+'/inspec-*-*/lib/inspec-*rb']
35
35
 
36
36
  # traverse out of inspec-vX.Y.Z/lib/inspec/plugins.rb
37
- @home = home || File.join(Dir.home, '.inspec', 'plugins')
37
+ @home = home || File.join(Inspec.config_dir, 'plugins')
38
38
  @paths += Dir[File.join(@home, '**{,/*/**}', '*.gemspec')]
39
39
  .map { |x| File.dirname(x) }
40
40
  .map { |x| Dir[File.join(x, 'lib', 'inspec-*.rb')] }
@@ -101,6 +101,7 @@ module Inspec
101
101
  @libraries_loaded = false
102
102
  @check_mode = options[:check_mode] || false
103
103
  @parent_profile = options[:parent_profile]
104
+ @legacy_profile_path = options[:profiles_path] || false
104
105
  Metadata.finalize(@source_reader.metadata, @profile_id, options)
105
106
 
106
107
  # if a backend has already been created, clone it so each profile has its own unique backend object
@@ -373,6 +374,32 @@ module Inspec
373
374
  m_unsupported.each { |u| warn.call(meta_path, 0, 0, nil, "doesn't support: #{u}") }
374
375
  @logger.info 'Metadata OK.' if m_errors.empty? && m_unsupported.empty?
375
376
 
377
+ # only run the vendor check if the legacy profile-path is not used as argument
378
+ if @legacy_profile_path == false
379
+ # verify that a lockfile is present if we have dependencies
380
+ if !metadata.dependencies.empty?
381
+ error.call(meta_path, 0, 0, nil, 'Your profile needs to be vendored with `inspec vendor`.') if !lockfile_exists?
382
+ end
383
+
384
+ if lockfile_exists?
385
+ # verify if metadata and lockfile are out of sync
386
+ if lockfile.deps.size != metadata.dependencies.size
387
+ error.call(meta_path, 0, 0, nil, 'inspec.yml and inspec.lock are out-of-sync. Please re-vendor with `inspec vendor`.')
388
+ end
389
+
390
+ # verify if metadata and lockfile have the same dependency names
391
+ metadata.dependencies.each { |dep|
392
+ # Skip if the dependency does not specify a name
393
+ next if dep[:name].nil?
394
+
395
+ # TODO: should we also verify that the soure is the same?
396
+ if !lockfile.deps.map { |x| x[:name] }.include? dep[:name]
397
+ error.call(meta_path, 0, 0, nil, "Cannot find #{dep[:name]} in lockfile. Please re-vendor with `inspec vendor`.")
398
+ end
399
+ }
400
+ end
401
+ end
402
+
376
403
  # extract profile name
377
404
  result[:summary][:profile] = metadata.params[:name]
378
405
 
@@ -4,5 +4,5 @@
4
4
  # author: Christoph Hartmann
5
5
 
6
6
  module Inspec
7
- VERSION = '3.0.12'
7
+ VERSION = '3.0.25'
8
8
  end
@@ -5,7 +5,7 @@ module InspecPlugins
5
5
  # stores configuration on local filesystem
6
6
  class Configuration
7
7
  def initialize
8
- @config_path = File.join(Dir.home, '.inspec', 'compliance')
8
+ @config_path = File.join(Inspec.config_dir, 'compliance')
9
9
  # ensure the directory is available
10
10
  unless File.directory?(@config_path)
11
11
  FileUtils.mkdir_p(@config_path)
@@ -6,22 +6,36 @@ require_relative 'renderer'
6
6
  module InspecPlugins
7
7
  module Init
8
8
  class CLI < Inspec.plugin(2, :cli_command)
9
- subcommand_desc 'init SUBCOMMAND', 'Initialize InSpec objects'
9
+ subcommand_desc 'init SUBCOMMAND', 'Generate InSpec code'
10
10
 
11
- # Look in the 'template' directory, and register a subcommand
12
- # for each template directory found there.
13
- template_dir = File.join(File.dirname(__FILE__), 'templates')
14
- Dir.glob(File.join(template_dir, '*')) do |template|
15
- template_name = Pathname.new(template).relative_path_from(Pathname.new(template_dir)).to_s
11
+ #-------------------------------------------------------------------#
12
+ # inspec init profile
13
+ #-------------------------------------------------------------------#
14
+ def self.valid_profile_platforms
15
+ # Look in the 'template/profiles' directory and detect which platforms are available.
16
+ profile_templates_dir = File.join(File.dirname(__FILE__), 'templates', 'profiles')
17
+ Dir.glob(File.join(profile_templates_dir, '*')).select { |p| File.directory?(p) }.map { |d| File.basename(d) }
18
+ end
19
+
20
+ no_commands do
21
+ def valid_profile_platforms
22
+ self.class.valid_profile_platforms
23
+ end
24
+ end
16
25
 
17
- # register command for the template
18
- desc "#{template_name} NAME", "Create a new #{template_name}"
19
- option :overwrite, type: :boolean, default: false,
20
- desc: 'Overwrites existing directory'
21
- define_method template_name.to_sym do |name_for_new_structure|
22
- renderer = InspecPlugins::Init::Renderer.new(self, options)
23
- renderer.render_with_values(template_name, name: name_for_new_structure)
26
+ desc 'profile [OPTIONS] NAME', 'Generate a new profile'
27
+ option :platform, default: 'os', type: :string, aliases: [:p],
28
+ desc: "Which platform to generate a platform for: choose from #{valid_profile_platforms.join(', ')}"
29
+ option :overwrite, type: :boolean, default: false,
30
+ desc: 'Overwrites existing directory'
31
+ def profile(new_profile_name)
32
+ unless valid_profile_platforms.include?(options[:platform])
33
+ puts "Unable to generate profile: No template available for platform '#{options[:platform]}' (expected one of: #{valid_profile_platforms.join(', ')})"
34
+ exit 1
24
35
  end
36
+ template_path = File.join('profiles', options[:platform])
37
+ renderer = InspecPlugins::Init::Renderer.new(self, options)
38
+ renderer.render_with_values(template_path, name: new_profile_name)
25
39
  end
26
40
  end
27
41
  end
@@ -16,9 +16,9 @@ module InspecPlugins
16
16
  end
17
17
 
18
18
  # rubocop: disable Metrics/AbcSize
19
- def render_with_values(template_type, template_values = {})
19
+ def render_with_values(template_subdir_path, template_values = {})
20
20
  # look for template directory
21
- base_dir = File.join(File.dirname(__FILE__), 'templates', template_type)
21
+ base_dir = File.join(File.dirname(__FILE__), 'templates', template_subdir_path)
22
22
  # prepare glob for all subdirectories and files
23
23
  template_glob = File.join(base_dir, '**', '{*,.*}')
24
24
  # Use the name attribute to define the path to the profile.
@@ -28,7 +28,10 @@ module InspecPlugins
28
28
  template_values[:name] = template_values[:name].split(%r{\\|\/}).last
29
29
  # Generate the full full_destination_root_path path on disk
30
30
  full_destination_root_path = Pathname.new(Dir.pwd).join(profile_path)
31
- ui.plain_text "Create new #{template_type} at #{ui.mark_text(full_destination_root_path)}"
31
+
32
+ # This is a bit gross
33
+ generator_type = template_subdir_path.split(%r{[\/]}).first.sub(/s$/, '')
34
+ ui.plain_text "Create new #{generator_type} at #{ui.mark_text(full_destination_root_path)}"
32
35
 
33
36
  # check that the directory does not exist
34
37
  if File.exist?(full_destination_root_path) && !overwrite_mode
@@ -0,0 +1,66 @@
1
+ # Example InSpec Profile For GCP
2
+
3
+ This example shows the implementation of an InSpec profile for GCP that depends on the [InSpec GCP Resource Pack](https://github.com/inspec/inspec-gcp). See the [README](https://github.com/inspec/inspec-gcp) for instructions on setting up appropriate GCP credentials.
4
+
5
+ ## Create a profile
6
+
7
+ ```
8
+ $ inspec init profile --platform gcp my-profile
9
+ Create new profile at /Users/spaterson/my-profile
10
+ * Create directory libraries
11
+ * Create file README.md
12
+ * Create directory controls
13
+ * Create file controls/example.rb
14
+ * Create file inspec.yml
15
+ * Create file attributes.yml
16
+ * Create file libraries/.gitkeep
17
+
18
+ ```
19
+
20
+ ## Update `attributes.yml` to point to your project
21
+
22
+ ```
23
+ gcp_project_id: 'my-gcp-project'
24
+ ```
25
+
26
+ ## Run the tests
27
+
28
+ ```
29
+ $ cd gcp-profile/
30
+ $ inspec exec . -t gcp:// --attrs attributes.yml
31
+
32
+ Profile: GCP InSpec Profile (my-profile)
33
+ Version: 0.1.0
34
+ Target: gcp://local-service-account@my-gcp-project.iam.gserviceaccount.com
35
+
36
+ ✔ gcp-single-region-1.0: Ensure single region has the correct properties.
37
+ ✔ Region europe-west2 zone_names should include "europe-west2-a"
38
+ ✔ gcp-regions-loop-1.0: Ensure regions have the correct properties in bulk.
39
+ ✔ Region asia-east1 should be up
40
+ ✔ Region asia-northeast1 should be up
41
+ ✔ Region asia-south1 should be up
42
+ ✔ Region asia-southeast1 should be up
43
+ ✔ Region australia-southeast1 should be up
44
+ ✔ Region europe-north1 should be up
45
+ ✔ Region europe-west1 should be up
46
+ ✔ Region europe-west2 should be up
47
+ ✔ Region europe-west3 should be up
48
+ ✔ Region europe-west4 should be up
49
+ ✔ Region northamerica-northeast1 should be up
50
+ ✔ Region southamerica-east1 should be up
51
+ ✔ Region us-central1 should be up
52
+ ✔ Region us-east1 should be up
53
+ ✔ Region us-east4 should be up
54
+ ✔ Region us-west1 should be up
55
+ ✔ Region us-west2 should be up
56
+
57
+
58
+ Profile: Google Cloud Platform Resource Pack (inspec-gcp)
59
+ Version: 0.5.0
60
+ Target: gcp://local-service-account@my-gcp-project.iam.gserviceaccount.com
61
+
62
+ No tests executed.
63
+
64
+ Profile Summary: 2 successful controls, 0 control failures, 0 controls skipped
65
+ Test Summary: 18 successful, 0 failures, 0 skipped
66
+ ```
@@ -0,0 +1,2 @@
1
+ # Below is to be uncommented and set with your GCP project ID:
2
+ # gcp_project_id: 'your-gcp-project'
@@ -0,0 +1,28 @@
1
+ # encoding: utf-8
2
+ # copyright: 2018, The Authors
3
+
4
+ title 'Sample Section'
5
+
6
+ gcp_project_id = attribute('gcp_project_id')
7
+
8
+ # you add controls here
9
+ control 'gcp-single-region-1.0' do # A unique ID for this control
10
+ impact 1.0 # The criticality, if this control fails.
11
+ title 'Ensure single region has the correct properties.' # A human-readable title
12
+ desc 'An optional description...'
13
+ describe google_compute_region(project: gcp_project_id, name: 'europe-west2') do # The actual test
14
+ its('zone_names') { should include 'europe-west2-a' }
15
+ end
16
+ end
17
+
18
+ # plural resources can be leveraged to loop across many resources
19
+ control 'gcp-regions-loop-1.0' do # A unique ID for this control
20
+ impact 1.0 # The criticality, if this control fails.
21
+ title 'Ensure regions have the correct properties in bulk.' # A human-readable title
22
+ desc 'An optional description...'
23
+ google_compute_regions(project: gcp_project_id).region_names.each do |region_name| # Loop across all regions by name
24
+ describe google_compute_region(project: gcp_project_id, name: region_name) do # The test for a single region
25
+ it { should be_up }
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,19 @@
1
+ name: <%= name %>
2
+ title: GCP InSpec Profile
3
+ maintainer: The Authors
4
+ copyright: The Authors
5
+ copyright_email: you@example.com
6
+ license: Apache-2.0
7
+ summary: An InSpec Compliance Profile For GCP
8
+ version: 0.1.0
9
+ inspec_version: '>= 2.3.5'
10
+ attributes:
11
+ - name: gcp_project_id
12
+ required: true
13
+ description: 'The GCP project identifier.'
14
+ type: string
15
+ depends:
16
+ - name: inspec-gcp
17
+ url: https://github.com/inspec/inspec-gcp/archive/master.tar.gz
18
+ supports:
19
+ - platform: gcp
@@ -6,3 +6,5 @@ copyright_email: you@example.com
6
6
  license: Apache-2.0
7
7
  summary: An InSpec Compliance Profile
8
8
  version: 0.1.0
9
+ supports:
10
+ platform: os
@@ -1,5 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
+ require 'yaml'
3
4
  require_relative '../../../shared/core_plugin_test_helper.rb'
4
5
 
5
6
  class InitCli < MiniTest::Test
@@ -17,6 +18,28 @@ class InitCli < MiniTest::Test
17
18
  end
18
19
  end
19
20
 
21
+ def test_generating_inspec_profile_with_explicit_platform
22
+ Dir.mktmpdir do |dir|
23
+ profile = File.join(dir, 'test-profile')
24
+ out = run_inspec_process("init profile --platform os test-profile", prefix: "cd #{dir} &&")
25
+ assert_equal 0, out.exit_status
26
+ assert_includes out.stdout, 'Create new profile at'
27
+ assert_includes out.stdout, profile
28
+ assert_includes Dir.entries(profile).join, 'inspec.yml'
29
+ assert_includes Dir.entries(profile).join, 'README.md'
30
+ end
31
+ end
32
+
33
+ def test_generating_inspec_profile_with_bad_platform
34
+ Dir.mktmpdir do |dir|
35
+ profile = File.join(dir, 'test-profile')
36
+ out = run_inspec_process("init profile --platform nonesuch test-profile", prefix: "cd #{dir} &&")
37
+ assert_equal 1, out.exit_status
38
+ assert_includes out.stdout, 'Unable to generate profile'
39
+ assert_includes out.stdout, "No template available for platform 'nonesuch'"
40
+ end
41
+ end
42
+
20
43
  def test_profile_with_slash_name
21
44
  Dir.mktmpdir do |dir|
22
45
  profile = dir + '/test/deeper/profile'
@@ -27,4 +50,16 @@ class InitCli < MiniTest::Test
27
50
  assert_equal 'profile', profile['name']
28
51
  end
29
52
  end
53
+
54
+ def test_generating_inspec_profile_gcp
55
+ Dir.mktmpdir do |dir|
56
+ profile = File.join(dir, 'test-gcp-profile')
57
+ out = run_inspec_process("init profile --platform gcp test-gcp-profile", prefix: "cd #{dir} &&")
58
+ assert_equal 0, out.exit_status
59
+ assert_includes out.stdout, 'Create new profile at'
60
+ assert_includes out.stdout, profile
61
+ assert_includes Dir.entries(profile).join, 'inspec.yml'
62
+ assert_includes Dir.entries(profile).join, 'README.md'
63
+ end
64
+ end
30
65
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.12
4
+ version: 3.0.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominik Richter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-24 00:00:00.000000000 Z
11
+ date: 2018-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: train
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '1.5'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.5.4
22
+ version: 1.5.6
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '1.5'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.5.4
32
+ version: 1.5.6
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: thor
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -480,10 +480,15 @@ files:
480
480
  - lib/plugins/inspec-init/lib/inspec-init.rb
481
481
  - lib/plugins/inspec-init/lib/inspec-init/cli.rb
482
482
  - lib/plugins/inspec-init/lib/inspec-init/renderer.rb
483
- - lib/plugins/inspec-init/lib/inspec-init/templates/profile/README.md
484
- - lib/plugins/inspec-init/lib/inspec-init/templates/profile/controls/example.rb
485
- - lib/plugins/inspec-init/lib/inspec-init/templates/profile/inspec.yml
486
- - lib/plugins/inspec-init/lib/inspec-init/templates/profile/libraries/.gitkeep
483
+ - lib/plugins/inspec-init/lib/inspec-init/templates/profiles/gcp/README.md
484
+ - lib/plugins/inspec-init/lib/inspec-init/templates/profiles/gcp/attributes.yml
485
+ - lib/plugins/inspec-init/lib/inspec-init/templates/profiles/gcp/controls/example.rb
486
+ - lib/plugins/inspec-init/lib/inspec-init/templates/profiles/gcp/inspec.yml
487
+ - lib/plugins/inspec-init/lib/inspec-init/templates/profiles/gcp/libraries/.gitkeep
488
+ - lib/plugins/inspec-init/lib/inspec-init/templates/profiles/os/README.md
489
+ - lib/plugins/inspec-init/lib/inspec-init/templates/profiles/os/controls/example.rb
490
+ - lib/plugins/inspec-init/lib/inspec-init/templates/profiles/os/inspec.yml
491
+ - lib/plugins/inspec-init/lib/inspec-init/templates/profiles/os/libraries/.gitkeep
487
492
  - lib/plugins/inspec-init/test/functional/inspec_init_test.rb
488
493
  - lib/plugins/inspec-plugin-manager-cli/README.md
489
494
  - lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli.rb