inspec 0.34.1 → 0.35.0

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
  SHA1:
3
- metadata.gz: 3300ebb1d71aa10e8e9f33217060bc99087ee1dd
4
- data.tar.gz: 15396427c3855805e1113088948f90b02a681234
3
+ metadata.gz: 861e8a137418a30cb36c3e9d51a32bb9e2e2ae2d
4
+ data.tar.gz: eeafd3a870d05e4f2ae67b3e299382eb6462d8b8
5
5
  SHA512:
6
- metadata.gz: 0d4b59405cdc4b756ce5a1e4fcb25cbcd23bc08700b0fd6ee4ce8ce35350919a1cfe8c9fdd99bac06fc7b95e04601b76f915f37e84bc09ec6d2d25cb5c06ce8e
7
- data.tar.gz: 5e8dc53845115716ea220981eb6090abecf628103bc7fe1703b044e58147a624f9b4808f2087a1ea584d71ea1819829693dec4643af051754aa7d273ab45c319
6
+ metadata.gz: 5f728850451314b6e5239013cf3bedabb5244b5e752c9b637d8655ea519310ed595c6e999aac09fb81d286c307a9ef0ef16cbbaf3ef11d9dbd2073d9bf5f8ca7
7
+ data.tar.gz: 5f0b35587277223728798d5de80c4bf8621558ec1af73fca28f23d7be08b39024f5ec90e06167baf7f5aef9df80d47b2b30745162224d0567bb475d7e332c19f
data/CHANGELOG.md CHANGED
@@ -1,7 +1,33 @@
1
1
  # Change Log
2
2
 
3
- ## [0.34.1](https://github.com/chef/inspec/tree/0.34.1) (2016-09-13)
4
- [Full Changelog](https://github.com/chef/inspec/compare/v0.34.0...0.34.1)
3
+ ## [0.35.0](https://github.com/chef/inspec/tree/0.35.0) (2016-09-16)
4
+ [Full Changelog](https://github.com/chef/inspec/compare/v0.34.1...0.35.0)
5
+
6
+ **Fixed bugs:**
7
+
8
+ - resource dsl not loded properly inside describe blocks [\#1074](https://github.com/chef/inspec/issues/1074)
9
+
10
+ **Closed issues:**
11
+
12
+ - online demo: check style of tutorial text [\#1054](https://github.com/chef/inspec/issues/1054)
13
+ - online demo: clear \(linux\) and cls \(windows\) command to clear the terminal [\#1052](https://github.com/chef/inspec/issues/1052)
14
+ - respect inspec.yml supports with include\_controls [\#1049](https://github.com/chef/inspec/issues/1049)
15
+ - Simplify dependency in inspec.yml [\#1048](https://github.com/chef/inspec/issues/1048)
16
+
17
+ **Merged pull requests:**
18
+
19
+ - Process transitive dependencies from lock file [\#1079](https://github.com/chef/inspec/pull/1079) ([stevendanna](https://github.com/stevendanna))
20
+ - Don't gpg-sign commits during tests [\#1077](https://github.com/chef/inspec/pull/1077) ([stevendanna](https://github.com/stevendanna))
21
+ - Ensure resources are visible inside its blocks [\#1076](https://github.com/chef/inspec/pull/1076) ([stevendanna](https://github.com/stevendanna))
22
+ - add gulp build pipeline to online demo [\#1075](https://github.com/chef/inspec/pull/1075) ([arlimus](https://github.com/arlimus))
23
+ - inspec simulator [\#1073](https://github.com/chef/inspec/pull/1073) ([chris-rock](https://github.com/chris-rock))
24
+ - Skip controls from profiles that don't support the current platform [\#1072](https://github.com/chef/inspec/pull/1072) ([stevendanna](https://github.com/stevendanna))
25
+ - add tutorials \(references\) to the site skeleton [\#1068](https://github.com/chef/inspec/pull/1068) ([arlimus](https://github.com/arlimus))
26
+ - Vj/improve demo [\#1065](https://github.com/chef/inspec/pull/1065) ([vjeffrey](https://github.com/vjeffrey))
27
+ - Provide inspec.yml shortcut syntax [\#1064](https://github.com/chef/inspec/pull/1064) ([stevendanna](https://github.com/stevendanna))
28
+
29
+ ## [v0.34.1](https://github.com/chef/inspec/tree/v0.34.1) (2016-09-13)
30
+ [Full Changelog](https://github.com/chef/inspec/compare/v0.34.0...v0.34.1)
5
31
 
6
32
  **Fixed bugs:**
7
33
 
@@ -254,7 +280,6 @@
254
280
  **Implemented enhancements:**
255
281
 
256
282
  - port\(\) could convert string parameter to integer [\#867](https://github.com/chef/inspec/issues/867)
257
- - InSpec output for summary needs to count controls [\#852](https://github.com/chef/inspec/issues/852)
258
283
  - add params and content method to parse\_config [\#876](https://github.com/chef/inspec/pull/876) ([chris-rock](https://github.com/chris-rock))
259
284
  - Activate centos, debian and oracle linux in our travis tests [\#869](https://github.com/chef/inspec/pull/869) ([chris-rock](https://github.com/chris-rock))
260
285
 
@@ -866,7 +891,6 @@
866
891
 
867
892
  - 0.15.0 [\#528](https://github.com/chef/inspec/pull/528) ([arlimus](https://github.com/arlimus))
868
893
  - 0.14.9 [\#525](https://github.com/chef/inspec/pull/525) ([arlimus](https://github.com/arlimus))
869
- - 0.14.8 [\#520](https://github.com/chef/inspec/pull/520) ([arlimus](https://github.com/arlimus))
870
894
 
871
895
  ## [v0.14.8](https://github.com/chef/inspec/tree/v0.14.8) (2016-03-04)
872
896
  [Full Changelog](https://github.com/chef/inspec/compare/v0.14.7...v0.14.8)
@@ -877,6 +901,7 @@
877
901
 
878
902
  **Merged pull requests:**
879
903
 
904
+ - 0.14.8 [\#520](https://github.com/chef/inspec/pull/520) ([arlimus](https://github.com/arlimus))
880
905
  - expose control impacts in json [\#519](https://github.com/chef/inspec/pull/519) ([arlimus](https://github.com/arlimus))
881
906
 
882
907
  ## [v0.14.7](https://github.com/chef/inspec/tree/v0.14.7) (2016-03-01)
@@ -1027,7 +1052,6 @@
1027
1052
 
1028
1053
  **Fixed bugs:**
1029
1054
 
1030
- - Inspec iptables should have\_rule tests not working [\#420](https://github.com/chef/inspec/issues/420)
1031
1055
  - Windows 2008 isn't being detected. [\#346](https://github.com/chef/inspec/issues/346)
1032
1056
  - Fix two minor logging and config bugs in CLI [\#452](https://github.com/chef/inspec/pull/452) ([srenatus](https://github.com/srenatus))
1033
1057
  - bugfix: verify the target resolver before using it [\#449](https://github.com/chef/inspec/pull/449) ([arlimus](https://github.com/arlimus))
@@ -1050,6 +1074,7 @@
1050
1074
  **Fixed bugs:**
1051
1075
 
1052
1076
  - File stats are not always working properly [\#430](https://github.com/chef/inspec/issues/430)
1077
+ - Inspec iptables should have\_rule tests not working [\#420](https://github.com/chef/inspec/issues/420)
1053
1078
  - Integration test for apache config [\#406](https://github.com/chef/inspec/issues/406)
1054
1079
  - rework auditd\_rules resource [\#312](https://github.com/chef/inspec/issues/312)
1055
1080
  - resource/auditd\_rules: update rule list format [\#309](https://github.com/chef/inspec/issues/309)
@@ -1111,7 +1136,6 @@
1111
1136
  - ec2 name tag instances for easier cleanup [\#418](https://github.com/chef/inspec/pull/418) ([alexpop](https://github.com/alexpop))
1112
1137
  - add an simple describe for profile example [\#416](https://github.com/chef/inspec/pull/416) ([chris-rock](https://github.com/chris-rock))
1113
1138
  - enable to configure the logger via cli [\#405](https://github.com/chef/inspec/pull/405) ([chris-rock](https://github.com/chris-rock))
1114
- - 0.9.11 [\#402](https://github.com/chef/inspec/pull/402) ([chris-rock](https://github.com/chris-rock))
1115
1139
  - remove os check exposure in file resource [\#398](https://github.com/chef/inspec/pull/398) ([arlimus](https://github.com/arlimus))
1116
1140
 
1117
1141
  ## [v0.9.11](https://github.com/chef/inspec/tree/v0.9.11) (2016-01-29)
@@ -1131,6 +1155,7 @@
1131
1155
 
1132
1156
  **Merged pull requests:**
1133
1157
 
1158
+ - 0.9.11 [\#402](https://github.com/chef/inspec/pull/402) ([chris-rock](https://github.com/chris-rock))
1134
1159
  - Readme fixes [\#390](https://github.com/chef/inspec/pull/390) ([jzohrab](https://github.com/jzohrab))
1135
1160
 
1136
1161
  ## [v0.9.10](https://github.com/chef/inspec/tree/v0.9.10) (2016-01-25)
@@ -1380,6 +1405,8 @@
1380
1405
  - Not using git in the gemspec file [\#217](https://github.com/chef/inspec/pull/217) ([tyler-ball](https://github.com/tyler-ball))
1381
1406
  - Updating Gemfile grouped dependencies to match what is already in the ChefDK [\#216](https://github.com/chef/inspec/pull/216) ([tyler-ball](https://github.com/tyler-ball))
1382
1407
  - Fix contain / should match confusion [\#214](https://github.com/chef/inspec/pull/214) ([zmalone](https://github.com/zmalone))
1408
+ - Fix doc typos [\#213](https://github.com/chef/inspec/pull/213) ([juliandunn](https://github.com/juliandunn))
1409
+ - Add test-kitchen example reference to readme [\#212](https://github.com/chef/inspec/pull/212) ([chris-rock](https://github.com/chris-rock))
1383
1410
  - Massively improve README [\#208](https://github.com/chef/inspec/pull/208) ([echohack](https://github.com/echohack))
1384
1411
 
1385
1412
  ## [0.9.1](https://github.com/chef/inspec/tree/0.9.1) (2015-11-04)
@@ -1415,7 +1442,10 @@
1415
1442
 
1416
1443
  **Merged pull requests:**
1417
1444
 
1445
+ - 0.9.0 [\#200](https://github.com/chef/inspec/pull/200) ([arlimus](https://github.com/arlimus))
1446
+ - bugfix: dont skip controls during json generation [\#199](https://github.com/chef/inspec/pull/199) ([arlimus](https://github.com/arlimus))
1418
1447
  - Fix typo and warning in command exist? check [\#198](https://github.com/chef/inspec/pull/198) ([arlimus](https://github.com/arlimus))
1448
+ - rename rule to control [\#197](https://github.com/chef/inspec/pull/197) ([chris-rock](https://github.com/chris-rock))
1419
1449
  - improvement: fail properly if os is not supported [\#196](https://github.com/chef/inspec/pull/196) ([chris-rock](https://github.com/chris-rock))
1420
1450
  - bugfix: relax fail for command.exist? for inspec check command [\#195](https://github.com/chef/inspec/pull/195) ([chris-rock](https://github.com/chris-rock))
1421
1451
  - api: introduce control keyword [\#194](https://github.com/chef/inspec/pull/194) ([arlimus](https://github.com/arlimus))
@@ -1426,6 +1456,7 @@
1426
1456
  - formatting, mostly ... also package =\> oneget [\#189](https://github.com/chef/inspec/pull/189) ([jamescott](https://github.com/jamescott))
1427
1457
  - bugfix: ignore delivery when building the gem [\#186](https://github.com/chef/inspec/pull/186) ([arlimus](https://github.com/arlimus))
1428
1458
  - api: change `--disable-sudo` to `--sudo` [\#185](https://github.com/chef/inspec/pull/185) ([arlimus](https://github.com/arlimus))
1459
+ - use new internal structure for inspect check [\#184](https://github.com/chef/inspec/pull/184) ([chris-rock](https://github.com/chris-rock))
1429
1460
  - remove dup method users, use usernames, fix example [\#183](https://github.com/chef/inspec/pull/183) ([chris-rock](https://github.com/chris-rock))
1430
1461
  - Update docs [\#181](https://github.com/chef/inspec/pull/181) ([chris-rock](https://github.com/chris-rock))
1431
1462
  - do not expose stderr method via os\_env [\#179](https://github.com/chef/inspec/pull/179) ([chris-rock](https://github.com/chris-rock))
@@ -1440,8 +1471,34 @@
1440
1471
  - add draft version of InSpec DSL topic [\#165](https://github.com/chef/inspec/pull/165) ([jamescott](https://github.com/jamescott))
1441
1472
  - sync words [\#164](https://github.com/chef/inspec/pull/164) ([jamescott](https://github.com/jamescott))
1442
1473
  - Improve docs [\#163](https://github.com/chef/inspec/pull/163) ([chris-rock](https://github.com/chris-rock))
1474
+ - Don't resolve `send` calls with dot-notation [\#162](https://github.com/chef/inspec/pull/162) ([arlimus](https://github.com/arlimus))
1475
+ - Align profile structure [\#161](https://github.com/chef/inspec/pull/161) ([arlimus](https://github.com/arlimus))
1443
1476
  - update docs [\#160](https://github.com/chef/inspec/pull/160) ([chris-rock](https://github.com/chris-rock))
1444
1477
  - resource =\> audit resource [\#159](https://github.com/chef/inspec/pull/159) ([jamescott](https://github.com/jamescott))
1478
+ - update readme [\#158](https://github.com/chef/inspec/pull/158) ([chris-rock](https://github.com/chris-rock))
1479
+ - add apache base config [\#157](https://github.com/chef/inspec/pull/157) ([chris-rock](https://github.com/chris-rock))
1480
+ - update to new kitchen-inspect [\#156](https://github.com/chef/inspec/pull/156) ([chris-rock](https://github.com/chris-rock))
1481
+ - consistently set an empty logger in non-verbose mode [\#155](https://github.com/chef/inspec/pull/155) ([arlimus](https://github.com/arlimus))
1482
+ - update query syntax [\#154](https://github.com/chef/inspec/pull/154) ([jamescott](https://github.com/jamescott))
1483
+ - bugfixes for json dummy module [\#153](https://github.com/chef/inspec/pull/153) ([arlimus](https://github.com/arlimus))
1484
+ - bugfix: correctly remove prefix from folder [\#152](https://github.com/chef/inspec/pull/152) ([arlimus](https://github.com/arlimus))
1485
+ - Rename vulcanosec -\> inspec [\#151](https://github.com/chef/inspec/pull/151) ([arlimus](https://github.com/arlimus))
1486
+ - feature: bring back profile check [\#150](https://github.com/chef/inspec/pull/150) ([arlimus](https://github.com/arlimus))
1487
+ - Metadata [\#149](https://github.com/chef/inspec/pull/149) ([arlimus](https://github.com/arlimus))
1488
+ - ignore local bundle config [\#148](https://github.com/chef/inspec/pull/148) ([arlimus](https://github.com/arlimus))
1489
+ - simplify auditd name [\#147](https://github.com/chef/inspec/pull/147) ([chris-rock](https://github.com/chris-rock))
1490
+ - Json [\#146](https://github.com/chef/inspec/pull/146) ([arlimus](https://github.com/arlimus))
1491
+ - bugfix: delivery only build necessary gems [\#145](https://github.com/chef/inspec/pull/145) ([arlimus](https://github.com/arlimus))
1492
+ - fix travis builds for 1.9.3 [\#144](https://github.com/chef/inspec/pull/144) ([arlimus](https://github.com/arlimus))
1493
+ - more integration tests [\#143](https://github.com/chef/inspec/pull/143) ([chris-rock](https://github.com/chris-rock))
1494
+ - json =\> exec [\#141](https://github.com/chef/inspec/pull/141) ([jamescott](https://github.com/jamescott))
1495
+ - add InSpec CLI reference topic [\#140](https://github.com/chef/inspec/pull/140) ([jamescott](https://github.com/jamescott))
1496
+ - encryptiong =\> encryption [\#139](https://github.com/chef/inspec/pull/139) ([jamescott](https://github.com/jamescott))
1497
+ - edit out words [\#138](https://github.com/chef/inspec/pull/138) ([jamescott](https://github.com/jamescott))
1498
+ - remove old docs file [\#136](https://github.com/chef/inspec/pull/136) ([chris-rock](https://github.com/chris-rock))
1499
+ - Integration tests [\#135](https://github.com/chef/inspec/pull/135) ([chris-rock](https://github.com/chris-rock))
1500
+ - add audit\_policy resource [\#134](https://github.com/chef/inspec/pull/134) ([jamescott](https://github.com/jamescott))
1501
+ - add file resource + lots of matchers [\#132](https://github.com/chef/inspec/pull/132) ([jamescott](https://github.com/jamescott))
1445
1502
 
1446
1503
  ## [0.8.0](https://github.com/chef/inspec/tree/0.8.0) (2015-10-21)
1447
1504
  [Full Changelog](https://github.com/chef/inspec/compare/0.7.0...0.8.0)
@@ -1464,6 +1521,114 @@
1464
1521
  - ensure all resources have a proper to\_s method [\#98](https://github.com/chef/inspec/issues/98)
1465
1522
  - Escape commands before we execute them [\#70](https://github.com/chef/inspec/issues/70)
1466
1523
 
1524
+ **Merged pull requests:**
1525
+
1526
+ - 0.8.0 [\#131](https://github.com/chef/inspec/pull/131) ([chris-rock](https://github.com/chris-rock))
1527
+ - more CentOS support [\#128](https://github.com/chef/inspec/pull/128) ([chris-rock](https://github.com/chris-rock))
1528
+ - add more usage headers [\#127](https://github.com/chef/inspec/pull/127) ([chris-rock](https://github.com/chris-rock))
1529
+ - add test-kitchen example [\#126](https://github.com/chef/inspec/pull/126) ([chris-rock](https://github.com/chris-rock))
1530
+ - fix the header structure [\#124](https://github.com/chef/inspec/pull/124) ([jamescott](https://github.com/jamescott))
1531
+ - add resources, sync matcher patterns [\#123](https://github.com/chef/inspec/pull/123) ([jamescott](https://github.com/jamescott))
1532
+ - move markdown docs to rst [\#122](https://github.com/chef/inspec/pull/122) ([chris-rock](https://github.com/chris-rock))
1533
+ - delivery: select build node on new fqdn [\#119](https://github.com/chef/inspec/pull/119) ([arlimus](https://github.com/arlimus))
1534
+ - add first round of audit resource docs [\#118](https://github.com/chef/inspec/pull/118) ([jamescott](https://github.com/jamescott))
1535
+ - Add support for `expect` [\#117](https://github.com/chef/inspec/pull/117) ([arlimus](https://github.com/arlimus))
1536
+ - test: group resource tests [\#116](https://github.com/chef/inspec/pull/116) ([arlimus](https://github.com/arlimus))
1537
+ - Fixes [\#115](https://github.com/chef/inspec/pull/115) ([chris-rock](https://github.com/chris-rock))
1538
+ - simplify yum implementation [\#114](https://github.com/chef/inspec/pull/114) ([chris-rock](https://github.com/chris-rock))
1539
+ - take care of ruby warnings [\#112](https://github.com/chef/inspec/pull/112) ([arlimus](https://github.com/arlimus))
1540
+ - Train [\#111](https://github.com/chef/inspec/pull/111) ([arlimus](https://github.com/arlimus))
1541
+ - make default rake tasks test+lint [\#110](https://github.com/chef/inspec/pull/110) ([arlimus](https://github.com/arlimus))
1542
+ - make default rake tasks test+lint [\#109](https://github.com/chef/inspec/pull/109) ([arlimus](https://github.com/arlimus))
1543
+ - make default rake tasks test+lint [\#108](https://github.com/chef/inspec/pull/108) ([arlimus](https://github.com/arlimus))
1544
+ - Improve unit tests [\#106](https://github.com/chef/inspec/pull/106) ([chris-rock](https://github.com/chris-rock))
1545
+ - add to\_s methods to resources, fixes \#98 [\#105](https://github.com/chef/inspec/pull/105) ([chris-rock](https://github.com/chris-rock))
1546
+ - 0.7.0 release [\#104](https://github.com/chef/inspec/pull/104) ([chris-rock](https://github.com/chris-rock))
1547
+ - implement iptables resource [\#103](https://github.com/chef/inspec/pull/103) ([chris-rock](https://github.com/chris-rock))
1548
+ - bugfix: return function if data is already cached [\#102](https://github.com/chef/inspec/pull/102) ([chris-rock](https://github.com/chris-rock))
1549
+ - implement apt resource [\#101](https://github.com/chef/inspec/pull/101) ([chris-rock](https://github.com/chris-rock))
1550
+ - improve shell [\#100](https://github.com/chef/inspec/pull/100) ([chris-rock](https://github.com/chris-rock))
1551
+ - implement host resource [\#99](https://github.com/chef/inspec/pull/99) ([chris-rock](https://github.com/chris-rock))
1552
+ - implement bridge resource [\#97](https://github.com/chef/inspec/pull/97) ([chris-rock](https://github.com/chris-rock))
1553
+ - interactive shell [\#95](https://github.com/chef/inspec/pull/95) ([arlimus](https://github.com/arlimus))
1554
+ - interface resource [\#94](https://github.com/chef/inspec/pull/94) ([chris-rock](https://github.com/chris-rock))
1555
+ - lint: dont use undefined vars [\#93](https://github.com/chef/inspec/pull/93) ([arlimus](https://github.com/arlimus))
1556
+ - fix delivery dependencies [\#92](https://github.com/chef/inspec/pull/92) ([arlimus](https://github.com/arlimus))
1557
+ - improvement: add default print method to resources [\#91](https://github.com/chef/inspec/pull/91) ([arlimus](https://github.com/arlimus))
1558
+ - extend os backend helper [\#90](https://github.com/chef/inspec/pull/90) ([chris-rock](https://github.com/chris-rock))
1559
+ - integrate docs [\#89](https://github.com/chef/inspec/pull/89) ([chris-rock](https://github.com/chris-rock))
1560
+ - integrate docs [\#88](https://github.com/chef/inspec/pull/88) ([chris-rock](https://github.com/chris-rock))
1561
+ - script resource [\#87](https://github.com/chef/inspec/pull/87) ([chris-rock](https://github.com/chris-rock))
1562
+ - implement group resource [\#85](https://github.com/chef/inspec/pull/85) ([chris-rock](https://github.com/chris-rock))
1563
+ - add author header [\#84](https://github.com/chef/inspec/pull/84) ([chris-rock](https://github.com/chris-rock))
1564
+ - Resource bugfix [\#83](https://github.com/chef/inspec/pull/83) ([arlimus](https://github.com/arlimus))
1565
+ - Resource in resource [\#80](https://github.com/chef/inspec/pull/80) ([arlimus](https://github.com/arlimus))
1566
+ - ignore local delivery config [\#77](https://github.com/chef/inspec/pull/77) ([arlimus](https://github.com/arlimus))
1567
+ - bugfix user resource for windows [\#76](https://github.com/chef/inspec/pull/76) ([chris-rock](https://github.com/chris-rock))
1568
+ - activate lint in travis [\#75](https://github.com/chef/inspec/pull/75) ([arlimus](https://github.com/arlimus))
1569
+ - Simplify SSL configuration [\#69](https://github.com/chef/inspec/pull/69) ([arlimus](https://github.com/arlimus))
1570
+ - implement user resource [\#67](https://github.com/chef/inspec/pull/67) ([chris-rock](https://github.com/chris-rock))
1571
+ - switch from open4 -\> mixlib-shellout [\#66](https://github.com/chef/inspec/pull/66) ([arlimus](https://github.com/arlimus))
1572
+ - WinRM path [\#63](https://github.com/chef/inspec/pull/63) ([arlimus](https://github.com/arlimus))
1573
+ - bugfix: catch cases where oneget returns an array [\#62](https://github.com/chef/inspec/pull/62) ([chris-rock](https://github.com/chris-rock))
1574
+ - extend delivery tests to extra docker images [\#61](https://github.com/chef/inspec/pull/61) ([arlimus](https://github.com/arlimus))
1575
+ - rename --key-file to --key on cli [\#60](https://github.com/chef/inspec/pull/60) ([arlimus](https://github.com/arlimus))
1576
+ - Simpleconfig groups [\#57](https://github.com/chef/inspec/pull/57) ([arlimus](https://github.com/arlimus))
1577
+ - OS detection tests [\#56](https://github.com/chef/inspec/pull/56) ([arlimus](https://github.com/arlimus))
1578
+ - Start Linting remaining resources [\#55](https://github.com/chef/inspec/pull/55) ([arlimus](https://github.com/arlimus))
1579
+ - fix various robocop lint issues [\#54](https://github.com/chef/inspec/pull/54) ([chris-rock](https://github.com/chris-rock))
1580
+ - overhaul rule structure [\#53](https://github.com/chef/inspec/pull/53) ([arlimus](https://github.com/arlimus))
1581
+ - Verify ssh transport backend [\#51](https://github.com/chef/inspec/pull/51) ([arlimus](https://github.com/arlimus))
1582
+ - Unit test for service resource [\#50](https://github.com/chef/inspec/pull/50) ([chris-rock](https://github.com/chris-rock))
1583
+ - Ssh backend tests [\#49](https://github.com/chef/inspec/pull/49) ([arlimus](https://github.com/arlimus))
1584
+ - Docker concurrency [\#48](https://github.com/chef/inspec/pull/48) ([arlimus](https://github.com/arlimus))
1585
+ - unit tests for package resource [\#47](https://github.com/chef/inspec/pull/47) ([chris-rock](https://github.com/chris-rock))
1586
+ - Docker runner test [\#46](https://github.com/chef/inspec/pull/46) ([arlimus](https://github.com/arlimus))
1587
+ - add port resource [\#45](https://github.com/chef/inspec/pull/45) ([chris-rock](https://github.com/chris-rock))
1588
+ - bugfix: windows server 2008 detection [\#44](https://github.com/chef/inspec/pull/44) ([arlimus](https://github.com/arlimus))
1589
+ - Add detect command [\#43](https://github.com/chef/inspec/pull/43) ([arlimus](https://github.com/arlimus))
1590
+ - unit test mock os [\#42](https://github.com/chef/inspec/pull/42) ([chris-rock](https://github.com/chris-rock))
1591
+ - let travis do dockerized resource tests [\#41](https://github.com/chef/inspec/pull/41) ([arlimus](https://github.com/arlimus))
1592
+ - docker test run [\#40](https://github.com/chef/inspec/pull/40) ([arlimus](https://github.com/arlimus))
1593
+ - bugfix: detect os via unames [\#38](https://github.com/chef/inspec/pull/38) ([arlimus](https://github.com/arlimus))
1594
+ - run kitchen test instead of converge [\#37](https://github.com/chef/inspec/pull/37) ([arlimus](https://github.com/arlimus))
1595
+ - bugfix: local file owner [\#36](https://github.com/chef/inspec/pull/36) ([arlimus](https://github.com/arlimus))
1596
+ - bugfix: backend description for local + docker [\#35](https://github.com/chef/inspec/pull/35) ([arlimus](https://github.com/arlimus))
1597
+ - implement fake os method for mock backend \(for now\) [\#34](https://github.com/chef/inspec/pull/34) ([chris-rock](https://github.com/chris-rock))
1598
+ - add Windows feature resource [\#33](https://github.com/chef/inspec/pull/33) ([chris-rock](https://github.com/chris-rock))
1599
+ - add linux kernel resources [\#32](https://github.com/chef/inspec/pull/32) ([chris-rock](https://github.com/chris-rock))
1600
+ - Exist vs exists [\#31](https://github.com/chef/inspec/pull/31) ([arlimus](https://github.com/arlimus))
1601
+ - File formats [\#30](https://github.com/chef/inspec/pull/30) ([chris-rock](https://github.com/chris-rock))
1602
+ - OS detection and resource [\#29](https://github.com/chef/inspec/pull/29) ([arlimus](https://github.com/arlimus))
1603
+ - bugfix: fix simplified runner configuration [\#28](https://github.com/chef/inspec/pull/28) ([chris-rock](https://github.com/chris-rock))
1604
+ - improvement: simplify runner configuration [\#27](https://github.com/chef/inspec/pull/27) ([arlimus](https://github.com/arlimus))
1605
+ - bugfix: catch cases, where no service is available [\#26](https://github.com/chef/inspec/pull/26) ([chris-rock](https://github.com/chris-rock))
1606
+ - support package for windows [\#25](https://github.com/chef/inspec/pull/25) ([chris-rock](https://github.com/chris-rock))
1607
+ - implement service for FreeBSD [\#24](https://github.com/chef/inspec/pull/24) ([chris-rock](https://github.com/chris-rock))
1608
+ - move integration dependencies to Gemfile [\#23](https://github.com/chef/inspec/pull/23) ([chris-rock](https://github.com/chris-rock))
1609
+ - add oracle linux docker tests [\#22](https://github.com/chef/inspec/pull/22) ([arlimus](https://github.com/arlimus))
1610
+ - Support FreeBSD [\#21](https://github.com/chef/inspec/pull/21) ([arlimus](https://github.com/arlimus))
1611
+ - Service resource [\#20](https://github.com/chef/inspec/pull/20) ([chris-rock](https://github.com/chris-rock))
1612
+ - Improvements [\#19](https://github.com/chef/inspec/pull/19) ([chris-rock](https://github.com/chris-rock))
1613
+ - bugfix: set host for ssh config in specinfra [\#18](https://github.com/chef/inspec/pull/18) ([chris-rock](https://github.com/chris-rock))
1614
+ - improve readme [\#17](https://github.com/chef/inspec/pull/17) ([chris-rock](https://github.com/chris-rock))
1615
+ - Integration tests for the backend runner [\#16](https://github.com/chef/inspec/pull/16) ([arlimus](https://github.com/arlimus))
1616
+ - Fix specinfra OS detection [\#15](https://github.com/chef/inspec/pull/15) ([arlimus](https://github.com/arlimus))
1617
+ - Os detection [\#14](https://github.com/chef/inspec/pull/14) ([chris-rock](https://github.com/chris-rock))
1618
+ - bugfix: require specinfra backend [\#13](https://github.com/chef/inspec/pull/13) ([chris-rock](https://github.com/chris-rock))
1619
+ - improve docker test runner structure [\#12](https://github.com/chef/inspec/pull/12) ([arlimus](https://github.com/arlimus))
1620
+ - Concurrent integrationtest [\#11](https://github.com/chef/inspec/pull/11) ([arlimus](https://github.com/arlimus))
1621
+ - add oneget resource [\#10](https://github.com/chef/inspec/pull/10) ([chris-rock](https://github.com/chris-rock))
1622
+ - Winrm [\#9](https://github.com/chef/inspec/pull/9) ([chris-rock](https://github.com/chris-rock))
1623
+ - bugfix: linux file stat parameters and mount [\#8](https://github.com/chef/inspec/pull/8) ([arlimus](https://github.com/arlimus))
1624
+ - Mysql conf [\#7](https://github.com/chef/inspec/pull/7) ([arlimus](https://github.com/arlimus))
1625
+ - Lint update [\#6](https://github.com/chef/inspec/pull/6) ([arlimus](https://github.com/arlimus))
1626
+ - SSH PTY [\#5](https://github.com/chef/inspec/pull/5) ([arlimus](https://github.com/arlimus))
1627
+ - Start Docker + SSH backends [\#4](https://github.com/chef/inspec/pull/4) ([arlimus](https://github.com/arlimus))
1628
+ - travis checks [\#3](https://github.com/chef/inspec/pull/3) ([chris-rock](https://github.com/chris-rock))
1629
+ - Package [\#2](https://github.com/chef/inspec/pull/2) ([chris-rock](https://github.com/chris-rock))
1630
+ - shared linux file handling + specinfra config + cleanup [\#1](https://github.com/chef/inspec/pull/1) ([arlimus](https://github.com/arlimus))
1631
+
1467
1632
 
1468
1633
 
1469
1634
  \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
@@ -7,12 +7,10 @@ license: Apache 2
7
7
  summary: InSpec Profile that is only consuming dependencies
8
8
  version: 0.2.0
9
9
  depends:
10
- - name: ssh-hardening
11
- supermarket: hardening/ssh-hardening
10
+ - name: hardening/ssh-hardening # defaults to supermarket
12
11
  - name: os-hardening
13
12
  url: https://github.com/dev-sec/tests-os-hardening/archive/master.zip
14
- - name: ssl-benchmark
15
- git: https://github.com/dev-sec/ssl-benchmark.git
13
+ - git: https://github.com/dev-sec/ssl-benchmark.git
16
14
  - name: windows-patch-benchmark
17
15
  git: https://github.com/chris-rock/windows-patch-benchmark.git
18
16
  - name: linux
@@ -23,7 +23,7 @@ module Inspec
23
23
  require 'rspec/core/dsl'
24
24
  Class.new(Inspec::Rule) do
25
25
  include RSpec::Core::DSL
26
- include resources_dsl
26
+ with_resource_dsl resources_dsl
27
27
  end
28
28
  end
29
29
 
@@ -107,7 +107,9 @@ module Inspec
107
107
  end
108
108
 
109
109
  define_method :register_control do |control, &block|
110
- ::Inspec::Rule.set_skip_rule(control, true) if @skip_profile
110
+ if @skip_profile || !profile_context_owner.profile_supports_os?
111
+ ::Inspec::Rule.set_skip_rule(control, true)
112
+ end
111
113
 
112
114
  profile_context_owner.register_rule(control, &block) unless control.nil?
113
115
  end
@@ -9,14 +9,9 @@ module Inspec
9
9
  # appropriate we delegate to Inspec::Profile directly.
10
10
  #
11
11
  class Requirement
12
- attr_reader :name, :dep, :cwd, :opts
13
- attr_writer :dependencies
14
-
15
12
  def self.from_metadata(dep, vendor_index, opts)
16
13
  fail 'Cannot load empty dependency.' if dep.nil? || dep.empty?
17
- name = dep[:name] || fail('You must provide a name for all dependencies')
18
- version = dep[:version]
19
- new(name, version, vendor_index, opts[:cwd], opts.merge(dep))
14
+ new(dep[:name], dep[:version], vendor_index, opts[:cwd], opts.merge(dep))
20
15
  end
21
16
 
22
17
  def self.from_lock_entry(entry, cwd, vendor_index, backend)
@@ -27,35 +22,41 @@ module Inspec
27
22
  entry[:resolved_source].merge(backend: backend))
28
23
 
29
24
  locked_deps = []
30
- Array(entry['dependencies']).each do |dep_entry|
25
+ Array(entry[:dependencies]).each do |dep_entry|
31
26
  locked_deps << Inspec::Requirement.from_lock_entry(dep_entry, cwd, vendor_index, backend)
32
27
  end
33
28
  req.lock_deps(locked_deps)
34
29
  req
35
30
  end
36
31
 
32
+ attr_reader :cwd, :opts, :required_version
37
33
  def initialize(name, version_constraints, vendor_index, cwd, opts)
38
34
  @name = name
39
- @version_requirement = Gem::Requirement.new(Array(version_constraints))
40
- @dep = Gem::Dependency.new(name, @version_requirement, :runtime)
35
+ @required_version = Gem::Requirement.new(Array(version_constraints))
41
36
  @vendor_index = vendor_index
42
37
  @backend = opts[:backend]
43
38
  @opts = opts
44
39
  @cwd = cwd
45
40
  end
46
41
 
47
- def required_version
48
- @version_requirement
42
+ #
43
+ # A dependency can be renamed in inspec.yml/inspec.lock. Prefer
44
+ # the name the user gave this dependency over the profile name.
45
+ #
46
+ def name
47
+ @name || profile.name
49
48
  end
50
49
 
51
50
  def source_version
52
- profile.metadata.params[:version]
51
+ profile.version
53
52
  end
54
53
 
55
54
  def source_satisfies_spec?
56
- name = profile.metadata.params[:name]
57
- version = profile.metadata.params[:version]
58
- @dep.match?(name, version)
55
+ gem_dep.match?(profile.name, profile.version)
56
+ end
57
+
58
+ def gem_dep
59
+ @gem_dep ||= Gem::Dependency.new(profile.name, required_version, :runtime)
59
60
  end
60
61
 
61
62
  def resolved_source
@@ -66,7 +67,7 @@ module Inspec
66
67
  h = {
67
68
  'name' => name,
68
69
  'resolved_source' => resolved_source,
69
- 'version_constraints' => @version_requirement.to_s,
70
+ 'version_constraints' => required_version.to_s,
70
71
  }
71
72
 
72
73
  if !dependencies.empty?
@@ -103,7 +104,7 @@ module Inspec
103
104
  end
104
105
 
105
106
  def to_s
106
- "#{dep} (#{resolved_source})"
107
+ "#{name ? name : '<unfetched>'} (#{resolved_source})"
107
108
  end
108
109
 
109
110
  def profile
@@ -50,7 +50,7 @@ module Inspec
50
50
  def resolve(deps, top_level = true, seen_items = {}, path_string = '') # rubocop:disable Metrics/AbcSize
51
51
  graph = {}
52
52
  if top_level
53
- Inspec::Log.debug("Starting traversal of dependencies #{deps.map(&:name)}")
53
+ Inspec::Log.debug("Starting traversal of dependencies #{deps.map(&:to_s)}")
54
54
  else
55
55
  Inspec::Log.debug("Traversing dependency tree of transitive dependency #{deps.map(&:name)}")
56
56
  end
@@ -6,7 +6,31 @@ require 'inspec/plugins'
6
6
  require 'utils/plugin_registry'
7
7
 
8
8
  module Inspec
9
- Fetcher = PluginRegistry.new
9
+ class FetcherRegistry < PluginRegistry
10
+ def resolve(target)
11
+ if fetcher_specified?(target)
12
+ super(target)
13
+ else
14
+ Inspec::Log.debug("Assuming default supermarket source for #{target}")
15
+ super(with_default_fetcher(target))
16
+ end
17
+ end
18
+
19
+ NON_FETCHER_KEYS = [:name, :version_constraint, :cwd, :backend, :cache].freeze
20
+ def fetcher_specified?(target)
21
+ # Only set a default for Hash-based (i.e. from
22
+ # inspec.yml/inspec.lock) targets
23
+
24
+ return true if !target.respond_to?(:keys)
25
+ !(target.keys - NON_FETCHER_KEYS).empty?
26
+ end
27
+
28
+ def with_default_fetcher(target)
29
+ target.merge({ supermarket: target[:name] })
30
+ end
31
+ end
32
+
33
+ Fetcher = FetcherRegistry.new
10
34
 
11
35
  def self.fetcher(version)
12
36
  if version != 1
@@ -51,8 +51,7 @@ module Inspec
51
51
  for_path(resolve_target(target, opts[:cache]), opts.merge(target: target))
52
52
  end
53
53
 
54
- attr_reader :source_reader
55
- attr_accessor :runner_context
54
+ attr_reader :source_reader, :backend, :runner_context
56
55
  def_delegator :@source_reader, :tests
57
56
  def_delegator :@source_reader, :libraries
58
57
  def_delegator :@source_reader, :metadata
@@ -77,6 +76,28 @@ module Inspec
77
76
  metadata.params[:name]
78
77
  end
79
78
 
79
+ def version
80
+ metadata.params[:version]
81
+ end
82
+
83
+ #
84
+ # Is this profile is supported on the current platform of the
85
+ # backend machine and the current inspec version.
86
+ #
87
+ # @returns [TrueClass, FalseClass]
88
+ #
89
+ def supported?
90
+ supports_os? && supports_runtime?
91
+ end
92
+
93
+ def supports_os?
94
+ metadata.supports_transport?(@backend)
95
+ end
96
+
97
+ def supports_runtime?
98
+ metadata.supports_runtime?
99
+ end
100
+
80
101
  def params
81
102
  @params ||= load_params
82
103
  end
@@ -59,6 +59,12 @@ module Inspec
59
59
  @control_eval_context = nil
60
60
  end
61
61
 
62
+ def profile_supports_os?
63
+ return true if @conf['profile'].nil?
64
+
65
+ @conf['profile'].supports_os?
66
+ end
67
+
62
68
  def all_rules
63
69
  ret = @rules.values
64
70
  ret += @subcontexts.map(&:all_rules).flatten
@@ -122,10 +128,12 @@ module Inspec
122
128
  @rules.delete(full_id(@profile_id, id))
123
129
  end
124
130
 
131
+ attr_reader :current_load
132
+
125
133
  def register_rule(r)
126
134
  # get the full ID
127
- r.instance_variable_set(:@__file, @current_load[:file])
128
- r.instance_variable_set(:@__group_title, @current_load[:title])
135
+ r.instance_variable_set(:@__file, current_load[:file])
136
+ r.instance_variable_set(:@__group_title, current_load[:title])
129
137
 
130
138
  # add the rule to the registry
131
139
  fid = full_id(Inspec::Rule.profile_id(r), Inspec::Rule.rule_id(r))
data/lib/inspec/rule.rb CHANGED
@@ -12,6 +12,24 @@ module Inspec
12
12
  class Rule # rubocop:disable Metrics/ClassLength
13
13
  include ::RSpec::Matchers
14
14
 
15
+ #
16
+ # Include any resources from the given resource DSL. The passed
17
+ # resource_dsl will also be included in any Inspec::Expect objects
18
+ # we make.
19
+ #
20
+ # @params resource_dsl [Module]
21
+ # @returns [TrueClass]
22
+ #
23
+ def self.with_resource_dsl(resource_dsl)
24
+ include resource_dsl
25
+ @resource_dsl = resource_dsl
26
+ true
27
+ end
28
+
29
+ def self.resource_dsl # rubocop:disable Style/TrivialAccessors
30
+ @resource_dsl
31
+ end
32
+
15
33
  def initialize(id, profile_id, _opts, &block)
16
34
  @impact = nil
17
35
  @title = nil
@@ -106,12 +124,12 @@ module Inspec
106
124
  include dsl
107
125
  end.new(method(:__add_check))
108
126
  else
109
- __add_check('describe', values, block)
127
+ __add_check('describe', values, with_dsl(block))
110
128
  end
111
129
  end
112
130
 
113
131
  def expect(value, &block)
114
- target = Inspec::Expect.new(value, &block)
132
+ target = Inspec::Expect.new(value, &with_dsl(block))
115
133
  __add_check('expect', [value], target)
116
134
  target
117
135
  end
@@ -188,6 +206,31 @@ module Inspec
188
206
  @__checks.push([describe_or_expect, values, block])
189
207
  end
190
208
 
209
+ #
210
+ # Takes a block and returns a block that will run the given block
211
+ # with access to the resource_dsl of the current class. This is to
212
+ # ensure that inside the constructed Rspec::ExampleGroup users
213
+ # have access to DSL methods. Previous this was done in
214
+ # Inspec::Runner before sending the example groups to rspec. It
215
+ # was moved here to ensure that code inside `its` blocks hae the
216
+ # same visibility into resources as code outside its blocks.
217
+ #
218
+ # @param [Proc] block
219
+ # @return [Proc]
220
+ #
221
+ def with_dsl(block)
222
+ return nil if block.nil?
223
+ if self.class.resource_dsl
224
+ dsl = self.class.resource_dsl
225
+ proc do |*args|
226
+ include dsl
227
+ instance_exec(*args, &block)
228
+ end
229
+ else
230
+ block
231
+ end
232
+ end
233
+
191
234
  # Idio(ma)tic unindent
192
235
  # TODO: replace this
193
236
  #
data/lib/inspec/runner.rb CHANGED
@@ -66,7 +66,6 @@ module Inspec
66
66
 
67
67
  def run(with = nil)
68
68
  Inspec::Log.debug "Starting run with targets: #{@target_profiles.map(&:to_s)}"
69
- Inspec::Log.debug "Backend is #{@backend}"
70
69
  all_controls = []
71
70
 
72
71
  @target_profiles.each do |profile|
@@ -149,17 +148,16 @@ module Inspec
149
148
  end
150
149
 
151
150
  def supports_profile?(profile)
152
- return true if profile.metadata.nil? || @ignore_supports
151
+ return true if @ignore_supports
153
152
 
154
- if !profile.metadata.supports_runtime?
153
+ if !profile.supports_runtime?
155
154
  fail 'This profile requires InSpec version '\
156
155
  "#{profile.metadata.inspec_requirement}. You are running "\
157
156
  "InSpec v#{Inspec::VERSION}.\n"
158
157
  end
159
158
 
160
- if !profile.metadata.supports_transport?(@backend)
161
- os_info = @backend.os[:name].to_s
162
- fail "This OS/platform (#{os_info}) is not supported by this profile."
159
+ if !profile.supports_os?
160
+ fail "This OS/platform (#{@backend.os[:name]}) is not supported by this profile."
163
161
  end
164
162
 
165
163
  true
@@ -231,21 +229,11 @@ module Inspec
231
229
  Inspec::Log.debug "Registering rule #{rule}"
232
230
  @rules << rule
233
231
  checks = ::Inspec::Rule.prepare_checks(rule)
234
- examples = checks.map do |m, a, b|
232
+ examples = checks.flat_map do |m, a, b|
235
233
  get_check_example(m, a, b)
236
- end.flatten.compact
237
-
238
- examples.each do |example|
239
- # TODO: Remove this!! It is very dangerous to do this here.
240
- # The goal of this is to make the audit DSL available to all
241
- # describe blocks. Right now, these blocks are executed outside
242
- # the scope of this run, thus not gaining ony of the DSL pieces.
243
- # To circumvent this, the full DSL is attached to the example's
244
- # scope.
245
- dsl = Inspec::Resource.create_dsl(backend)
246
- example.send(:include, dsl)
247
- @test_collector.add_test(example, rule)
248
- end
234
+ end.compact
235
+
236
+ examples.each { |e| @test_collector.add_test(e, rule) }
249
237
  end
250
238
  end
251
239
  end
@@ -4,5 +4,5 @@
4
4
  # author: Christoph Hartmann
5
5
 
6
6
  module Inspec
7
- VERSION = '0.34.1'.freeze
7
+ VERSION = '0.35.0'.freeze
8
8
  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: 0.34.1
4
+ version: 0.35.0
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-09-13 00:00:00.000000000 Z
11
+ date: 2016-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: train