inspec 0.27.0 → 0.27.1
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/CHANGELOG.md +19 -2
- data/docs/resources.rst +3 -3
- data/lib/inspec/runner.rb +2 -2
- data/lib/inspec/version.rb +1 -1
- data/lib/resources/cache.rb +13 -0
- data/lib/resources/postgres.rb +7 -0
- data/lib/utils/hash_map.rb +37 -0
- data/test/unit/mock/profiles/resource-tiny/inspec.yml +10 -0
- data/test/unit/mock/profiles/resource-tiny/libraries/resource.rb +3 -0
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b2dd34beaa375e165c66d9dfd6b45834464644c
|
4
|
+
data.tar.gz: a7fdabda77839fef8b33c810b96ad8e8abb35133
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 930e452dd58d92af6a2be666ae6fb820b7363efbb41864b702fdaa0d814d533da662c0c1b284daa5fc9c0bd6d0023eccb925df2f1b23b40130eea640b4c610b5
|
7
|
+
data.tar.gz: a09dbb59b25a8c2c0b09b509e471c0079f10064d9d3f9234fd9163a9acbc333378866789a5f31864fcfdd1623cc64ebce2c129c6fed7c158491ec5e9e51ae42e
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,24 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [0.27.
|
4
|
-
[Full Changelog](https://github.com/chef/inspec/compare/v0.
|
3
|
+
## [0.27.1](https://github.com/chef/inspec/tree/0.27.1) (2016-07-15)
|
4
|
+
[Full Changelog](https://github.com/chef/inspec/compare/v0.27.0...0.27.1)
|
5
|
+
|
6
|
+
**Fixed bugs:**
|
7
|
+
|
8
|
+
- Inconsistent json format caused by inconsistent hash keys [\#827](https://github.com/chef/inspec/issues/827)
|
9
|
+
|
10
|
+
**Closed issues:**
|
11
|
+
|
12
|
+
- wrong path detection for postgres conf\_dir and conf\_path [\#823](https://github.com/chef/inspec/issues/823)
|
13
|
+
|
14
|
+
**Merged pull requests:**
|
15
|
+
|
16
|
+
- FIX: file\(hba\_config\_file\) test in documentation [\#830](https://github.com/chef/inspec/pull/830) ([atomic111](https://github.com/atomic111))
|
17
|
+
- Fix runner.rb key inconsistency [\#828](https://github.com/chef/inspec/pull/828) ([alexpop](https://github.com/alexpop))
|
18
|
+
- FIX \#823 wrong postgres path detection for conf\_dir and conf\_path [\#824](https://github.com/chef/inspec/pull/824) ([atomic111](https://github.com/atomic111))
|
19
|
+
|
20
|
+
## [v0.27.0](https://github.com/chef/inspec/tree/v0.27.0) (2016-07-11)
|
21
|
+
[Full Changelog](https://github.com/chef/inspec/compare/v0.26.0...v0.27.0)
|
5
22
|
|
6
23
|
**Implemented enhancements:**
|
7
24
|
|
data/docs/resources.rst
CHANGED
@@ -1239,9 +1239,9 @@ The following complete example tests the ``pg_hba.conf`` file in |postgresql| fo
|
|
1239
1239
|
.. code-block:: bash
|
1240
1240
|
|
1241
1241
|
describe file(hba_config_file) do
|
1242
|
-
its('content') { should match
|
1243
|
-
its('content') { should match
|
1244
|
-
its('content') { should match
|
1242
|
+
its('content') { should match(%r{local\s.*?all\s.*?all\s.*?md5}) }
|
1243
|
+
its('content') { should match(%r{host\s.*?all\s.*?all\s.*?127.0.0.1\/32\s.*?md5}) }
|
1244
|
+
its('content') { should match(%r{host\s.*?all\s.*?all\s.*?::1\/128\s.*?md5}) }
|
1245
1245
|
end
|
1246
1246
|
|
1247
1247
|
exist
|
data/lib/inspec/runner.rb
CHANGED
@@ -109,7 +109,7 @@ module Inspec
|
|
109
109
|
end
|
110
110
|
|
111
111
|
def create_context(options = {})
|
112
|
-
meta = options[
|
112
|
+
meta = options[:metadata]
|
113
113
|
profile_id = nil
|
114
114
|
profile_id = meta.params[:name] unless meta.nil?
|
115
115
|
Inspec::ProfileContext.new(profile_id, @backend, @conf.merge(options))
|
@@ -123,7 +123,7 @@ module Inspec
|
|
123
123
|
ctx.load_libraries(libs.map { |x| [x[:content], x[:ref], x[:line]] })
|
124
124
|
|
125
125
|
# hand the context to the profile for further evaluation
|
126
|
-
unless (profile = options[
|
126
|
+
unless (profile = options[:profile]).nil?
|
127
127
|
profile.runner_context = ctx
|
128
128
|
end
|
129
129
|
|
data/lib/inspec/version.rb
CHANGED
data/lib/resources/postgres.rb
CHANGED
@@ -24,6 +24,13 @@ module Inspec::Resources
|
|
24
24
|
@conf_dir = '/var/lib/postgres/data'
|
25
25
|
@conf_path = File.join @conf_dir, 'postgresql.conf'
|
26
26
|
|
27
|
+
when 'centos', 'redhat'
|
28
|
+
@service = 'postgresql'
|
29
|
+
@version = inspec.command('ls /var/lib/pgsql/').stdout.chomp
|
30
|
+
@data_dir = "/var/lib/pgsql/#{@version}/data"
|
31
|
+
@conf_dir = "/var/lib/pgsql/#{@version}/data"
|
32
|
+
@conf_path = File.join @conf_dir, 'postgresql.conf'
|
33
|
+
|
27
34
|
else
|
28
35
|
@service = 'postgresql'
|
29
36
|
@data_dir = '/var/lib/postgresql'
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# author: Dominik Richter
|
3
|
+
# author: Christoph Hartmann
|
4
|
+
|
5
|
+
class HashMap
|
6
|
+
class << self
|
7
|
+
def [](hash, *keys)
|
8
|
+
return hash if keys.empty? || hash.nil?
|
9
|
+
key = keys.shift
|
10
|
+
if hash.is_a?(Array)
|
11
|
+
map = hash.map { |i| [i, key] }
|
12
|
+
else
|
13
|
+
map = hash[key]
|
14
|
+
end
|
15
|
+
[map, *keys]
|
16
|
+
rescue NoMethodError => _
|
17
|
+
nil
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class StringMap
|
23
|
+
class << self
|
24
|
+
def [](hash, *keys)
|
25
|
+
return hash if keys.empty? || hash.nil?
|
26
|
+
key = keys.shift
|
27
|
+
if hash.is_a?(Array)
|
28
|
+
map = hash.map { |i| [i, key] }
|
29
|
+
else
|
30
|
+
map = hash[key]
|
31
|
+
end
|
32
|
+
[map, *keys]
|
33
|
+
rescue NoMethodError => _
|
34
|
+
nil
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
name: complete
|
2
|
+
title: complete example profile
|
3
|
+
maintainer: Chef Software, Inc.
|
4
|
+
copyright: Chef Software, Inc.
|
5
|
+
copyright_email: support@chef.io
|
6
|
+
license: Proprietary, All rights reserved
|
7
|
+
summary: Testing stub
|
8
|
+
version: 1.0.0
|
9
|
+
supports:
|
10
|
+
- os-family: linux
|
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: 0.27.
|
4
|
+
version: 0.27.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dominik Richter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: train
|
@@ -318,6 +318,7 @@ files:
|
|
318
318
|
- lib/resources/bash.rb
|
319
319
|
- lib/resources/bond.rb
|
320
320
|
- lib/resources/bridge.rb
|
321
|
+
- lib/resources/cache.rb
|
321
322
|
- lib/resources/command.rb
|
322
323
|
- lib/resources/csv.rb
|
323
324
|
- lib/resources/directory.rb
|
@@ -376,6 +377,7 @@ files:
|
|
376
377
|
- lib/utils/filter_array.rb
|
377
378
|
- lib/utils/find_files.rb
|
378
379
|
- lib/utils/hash.rb
|
380
|
+
- lib/utils/hash_map.rb
|
379
381
|
- lib/utils/json_log.rb
|
380
382
|
- lib/utils/modulator.rb
|
381
383
|
- lib/utils/object_traversal.rb
|
@@ -573,6 +575,8 @@ files:
|
|
573
575
|
- test/unit/mock/profiles/library/inspec.yml
|
574
576
|
- test/unit/mock/profiles/library/libraries/gordonlib.rb
|
575
577
|
- test/unit/mock/profiles/library/libraries/testlib.rb
|
578
|
+
- test/unit/mock/profiles/resource-tiny/inspec.yml
|
579
|
+
- test/unit/mock/profiles/resource-tiny/libraries/resource.rb
|
576
580
|
- test/unit/mock/profiles/simple-metadata/inspec.yml
|
577
581
|
- test/unit/mock/profiles/skippy-profile-os/controls/one.rb
|
578
582
|
- test/unit/mock/profiles/skippy-profile-os/inspec.yml
|
@@ -662,7 +666,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
662
666
|
version: '0'
|
663
667
|
requirements: []
|
664
668
|
rubyforge_project:
|
665
|
-
rubygems_version: 2.
|
669
|
+
rubygems_version: 2.5.1
|
666
670
|
signing_key:
|
667
671
|
specification_version: 4
|
668
672
|
summary: Infrastructure and compliance testing.
|
@@ -857,6 +861,8 @@ test_files:
|
|
857
861
|
- test/unit/mock/profiles/library/inspec.yml
|
858
862
|
- test/unit/mock/profiles/library/libraries/gordonlib.rb
|
859
863
|
- test/unit/mock/profiles/library/libraries/testlib.rb
|
864
|
+
- test/unit/mock/profiles/resource-tiny/inspec.yml
|
865
|
+
- test/unit/mock/profiles/resource-tiny/libraries/resource.rb
|
860
866
|
- test/unit/mock/profiles/simple-metadata/inspec.yml
|
861
867
|
- test/unit/mock/profiles/skippy-profile-os/controls/one.rb
|
862
868
|
- test/unit/mock/profiles/skippy-profile-os/inspec.yml
|