Commit graph

2775 commits

Author SHA1 Message Date
Chef Expeditor
99c9ba2429
Bump version to 3.0.62 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-12-04 15:54:33 +00:00
Chef Expeditor
a4362e7a07
Bump version to 3.0.61 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-29 19:14:29 +00:00
Clinton Wolfe
fefa6c2ecd
Plugin Type: DSLs (#3557)
This PR adds 5 closely related plugin types, which allow a plugin to implement new DSL methods / keywords. The mechanism to activate the plugins are all very similar - basically, in a particular location in the code, `method_missing` is implemented, and is used to activate the particular type of DSL being requested.

4 of the DSL plugin types relate to code that could appear in a profile control file.

* outer_profile_dsl plugins allow you to extend the code in profile Ruby files that appear outside `control` or `describe` blocks.
* control_dsl plugins allow you to extend the code within `control` blocks.
* describe_dsl plugins allow you to extend the code within `describe` blocks.
* test_dsl plugins allow you to extend the code within `it`/`its` blocks.

Finally, the `resource_dsl` plugin allows you to extend the code used within custom resources.

Basic unit tests are provided to prove that the plugin types are properly defined.

A simple plugin fixture defining DSL hooks (based on favorite foods) is included, and is exercised through a set of functional tests.

The plugin developer docs are updated to describe the 5 DSLs.

*Note*: Implementing a plugin using any of the DSL plugin types is experimental.  The contexts that are exposed to the DSL methods are private and poorly documented. The InSpec project does not claim the APIs used by these plugin types are covered by SemVer.  Plugin authors are encouraged to pin tightly to the `inspec` gem in their gemspecs.

Motivation for this plugin comes from the desire to allow passionate community members to implement things like "2 out of 3" tests, example groups, improved serverspec compatibility, "they/their" and other "fluency" changes, as well as make it possible for future work by the InSpec team to be implemented as a core plugin, rather than a direct change to the main codebase.
2018-11-29 14:14:06 -05:00
Chef Expeditor
0f1a30cb06
Bump version to 3.0.60 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-27 22:00:20 +00:00
Chef Expeditor
893e234df4
Bump version to 3.0.59 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-27 21:55:14 +00:00
Caprowni
af4253c755 Adding an AWS platform template so that it can be specified to create a template when using 'inspec init --platform' (#3622)
Signed-off-by: Liam Caproni <liamcaproni@gmail.com>
2018-11-27 16:55:03 -05:00
Clinton Wolfe
b3fafab1e6 Add aws_eks_cluster resource (#3582)
* add aws_eks_cluster

Signed-off-by: Timothy van Zadelhoff
timothy.inspec@theothersolution.nl

* disable ABC check on fetch_from_api

Signed-off-by: Timothy van Zadelhoff <timothy.inspec@theothersolution.nl>

* add status predicates

* Change docs for status attribute

Signed-off-by: Timothy van Zadelhoff <timothy.inspec@theothersolution.nl>

*     Add integration tests

    Signed-off-by: Timothy van Zadelhoff <timothy.inspec@theothersolution.nl>

* Adjust EKS build code to almost work

Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>

* EKS only uses private subnets - integration tests pass

Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>

* Correct AWS Exception class for resource search miss in unit test

Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>

* Update unit test to reflect AWS resource-standard miss behavior, returning nil for most properties

Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2018-11-27 16:54:47 -05:00
Chef Expeditor
1c742e6eff
Bump version to 3.0.58 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-27 18:21:36 +00:00
mhackethal
b67236e485 package: fix package detection on windows (#3607)
* Update package.rb to solve issue #3361

Update the windows package search regex.
According to issue #3361

* Update package.rb
Fix trailing spaces
* Update helper.rb

update sha for get-item-package. To fix the issue #3361
Signed-off-by: markus hackethal <mh@it31.de>
2018-11-27 13:21:25 -05:00
Chef Expeditor
a419ce3aff
Bump version to 3.0.57 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-26 14:12:37 +00:00
Chef Expeditor
32ad4b9fbf
Bump version to 3.0.56 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-19 18:33:11 +00:00
mhackethal
86cf55382b filesystem: improve Windows support (#3606)
* Improve filesystem.rb to support windows

improve filesystem.rb to support windows.
Split into 2 classes LinuxFileSystemResource / WindowsFileSystemResource
Add filesystem to verify a FS-type ( currently not for linux because missing test server )
Size on Windows is converted to GB - discussion about this welcome

update to reflect also windows os

* Create get-wmiobject-filesystem
* Delete get-wmiobject-filesystem

* Fix the testing code for filesystem.
Change its 'filesystem' to 'type' according to recommendation from @miah
Signed-off-by: Markus Hackethal <mh@it31.de>
2018-11-19 13:32:59 -05:00
Chef Expeditor
3c557eac3f
Bump version to 3.0.55 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-16 22:09:59 +00:00
Chef Expeditor
8e88bc3eb5
Bump version to 3.0.54 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-16 22:06:50 +00:00
Clinton Wolfe
e4afadfc3f Revert setting RSpec expectation syntax to 'should' mode (#3620)
* Revert "Silence RSpec 'should' Warning (#3560)"

This reverts commit 7c611a4c24.

* Add comment with link to reverted fix

Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2018-11-16 17:04:04 -05:00
Chef Expeditor
82af39e25a
Bump version to 3.0.53 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-16 22:03:23 +00:00
Clinton Wolfe
3c8697e5e2 Create a class to handle the plugins.json file (#3575)
* unit tests for plugin conf file class, all skip
* File path stuff works
* Validation works
* Add works
* Added remove_entry
* Save works - ready to refactor others
* Rework Loader to use ConfigFile
* Modify loader and installer to use the config file class
* linting

Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2018-11-16 17:03:09 -05:00
Chef Expeditor
ae5986f7b9
Bump version to 3.0.52 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-15 20:15:03 +00:00
Jerry Aldrich
4a03e54b4c Load the compliance plugin when the fetcher is needed (#3609)
* Add Compliance fetcher pending 4.0 plugin

When migrating `inspec-compliance` to a V2 plugin only the CLI functions
were migrated. This caused the fetcher portions of `inspec-compliance`
to fail.

Currently, there isn't a fetcher plugin type so this loads the fetcher
explicitly until a fetcher plugin type and corresponding Compliance
fetcher is created in InSpec 4.0.

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2018-11-15 15:14:49 -05:00
Chef Expeditor
cbd2384dd7
Bump version to 3.0.51 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-13 19:36:49 +00:00
Harold Dost
202bec7641 Adds protection against zipslip vulnerability (#3604)
- Adds associated tests to validate paths can't be used.

Relates to: #3599
Signed-off-by: Harold Dost <h.dost@criteo.com>
2018-11-13 14:33:34 -05:00
Chef Expeditor
a0fd25ba3a
Bump version to 3.0.50 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-13 19:33:22 +00:00
Fernando Alexandre
8b089ea1e1 Fixes #3546 (#3592)
* When pty is used not having --no-pager makes inspec hang during the test
* Updated tests

Signed-off-by: Jose Alexandre <jose.alexandre@worldfirst.com>
2018-11-13 14:33:08 -05:00
Chef Expeditor
1f38c1436a
Bump version to 3.0.49 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-13 18:25:45 +00:00
Timothy van Zadelhoff
5739cb2d6b aws_security_group: Query against other security group ids in allow_* matchers (#3576)
* add security-group to security-group rules
* update docs
* Add integration tests for security-group to security-group rules
* rubocop fix
*     Add one security group rule, with position.
* make control fit description

Signed-off-by: Timothy van Zadelhoff <timothy.inspec@theothersolution.nl
2018-11-13 13:25:33 -05:00
Chef Expeditor
3ee216b3c2
Bump version to 3.0.48 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 21:03:24 +00:00
Chef Expeditor
a05183cf1c
Bump version to 3.0.47 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 21:00:14 +00:00
Chef Expeditor
f632882a9e
Bump version to 3.0.46 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 20:55:29 +00:00
Jerry Aldrich
6ba4aaf630 Add Git SSH and HTTP basic auth support to inspec exec (#3562)
* Add support for `git@` and HTTP basic auth

This adds support for the following:

```
inspec exec git@github.com:private/example_profile
inspec exec https://username:token@github.com/private/example_profile
inspec exec https://username:password@webserver/private/example_profile
```

This also uses the Git fetcher when the URL ends in `.git`. Example:

```
git config credential.helper cache
git ls-remote https://github.com/private/example_profile.git
inspec exec https://github.com/private/example_profile.git
```

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>

* Add documentation for `inspec exec` usage

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>

* Add tests for Git fetcher and `inspec exec`

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>

* Add `opts` to branch of Git fetcher resolve logic

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>

* Modify Git example comments

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>

* Force `parse_uri` to attempt a parse

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2018-11-08 15:55:15 -05:00
Chef Expeditor
167a876705
Bump version to 3.0.45 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 18:58:37 +00:00
Chef Expeditor
b5c8aa1d47
Bump version to 3.0.44 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 18:55:42 +00:00
Chef Expeditor
529cdbafc3
Bump version to 3.0.43 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 18:52:47 +00:00
Clinton Wolfe
b12aa82361 port: Correctly detect FreeBSD (#3579)
* Fixing #3563; freebsd is not a substring of 'bsd'
* Actually, this is better.
* Change coditional for FreeBSD from a string match to a call to os.bsd?

Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2018-11-08 13:51:45 -05:00
Chef Expeditor
9d4510451e
Bump version to 3.0.42 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 18:49:29 +00:00
Chef Expeditor
a04f017f11
Bump version to 3.0.41 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 18:46:36 +00:00
Chef Expeditor
53dce69a15
Bump version to 3.0.40 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 18:43:41 +00:00
mrshanahan
cebe044a68 Update iis_site bindingInformation construction and add tests. (#3490) (#3492)
Signed-off-by: Matt Shanahan <mrshanahan11235@gmail.com>
2018-11-08 13:42:59 -05:00
Chef Expeditor
23b40887b4
Bump version to 3.0.39 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 18:09:57 +00:00
Chef Expeditor
80dcde835e
Bump version to 3.0.38 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 18:07:02 +00:00
Chef Expeditor
9d5b4a3c95
Bump version to 3.0.37 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 18:04:06 +00:00
Chef Expeditor
9c61517bb8
Bump version to 3.0.36 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 18:01:05 +00:00
Chef Expeditor
1fa6d6375d
Bump version to 3.0.35 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 17:58:08 +00:00
Chef Expeditor
624cb1ac07
Bump version to 3.0.34 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 17:55:14 +00:00
Chef Expeditor
678fff677a
Bump version to 3.0.33 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 17:52:22 +00:00
Chef Expeditor
c6d5a3e10c
Bump version to 3.0.32 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 17:49:27 +00:00
Rachel Rice
de5b332feb Allow add_test to accept negation (#3586)
* Allow add_test to accept negation
This will allow for negated tests to be generated with add_tests.
* Fix rubocop violation
* Add optional options hash

Signed-off-by: Rachel Rice <rrice@chef.io>
2018-11-08 12:48:12 -05:00
Mark Hughes
45926ef63a Added xml resource support for ints, bools, and string responses (#3583)
Methods like…

* `count()` return `Integer` values
* `boolean()` return `TrueClass`/`FalseClass` values
* `concat()` return `String` values

…but threw exceptions because those types weren't supported.

This adds support to the `xml` resource, and adds tests to verify some of those examples.

Signed-off-by: Mark Hughes <greenantdotcom@users.noreply.github.com>
2018-11-08 12:47:18 -05:00
Chef Expeditor
061c29519e
Bump version to 3.0.31 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 17:46:31 +00:00
James Stocks
5da1180780 Add only_if to Inspec objects (#3577)
* Add only_if attr to Inspec::test
* Add only_if attr to Inspec::Control

Signed-off-by: James Stocks <jstocks@chef.io>
2018-11-08 12:46:19 -05:00
Jared Quick
d33d189d93
Create appvayor workers for Windows functional tests. (#3397)
* Add more windows functional tests and create some appvayor workers.
* Fix uuid test for automate

Signed-off-by: Jared Quick <jquick@chef.io>
2018-11-08 12:00:14 -05:00