Commit graph

5940 commits

Author SHA1 Message Date
Jerry Aldrich
4eb5f0eeb6 Remove Habitat package run time dependencies from Habitat plan (#3645)
* Remove Hab pkg deps in favor of OS binaries

This removes the runtime dependencies on Hab pkgs and instead modifies
the `PATH` environment variable to use the OS binaries where the InSpec
Habitat package is installed.

It should be noted that this is counter to what Habitat intends in most
cases. In general, it is preferable to use only Habitat packages as
runtime dependencies to get all the benefits that Habitat provides.

We elected not to do this for the InSpec Habitat package since the list
of binaries that would need to be installed to support all InSpec
resources would be prohibitively expensive (both in disk space and
network requirements). If you wish to use Habitat packaged binaries with
this package you can use `hab pkg install origin/my-binary --binlink`.

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

* Modify Habitat install example to use `--binlink`

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

* Add `core/git` runtime dep (used for fetching)

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2018-12-06 10:16:56 -05:00
Jerry Aldrich
06800e83cc Fix GitHub alert for rack dependency (#3644)
After digging I see that PR #975 fixed `bundle install` on 2.1.9 about
two years ago. The minimum required version of Ruby for InSpec is 2.2.
This updates our Gemfile to remove any logic for Ruby `< 2.2.2`.

The Gemfile should only be used for development...but I could be wrong
here. Let me know if you think there will be any issues.

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2018-12-06 10:16:33 -05:00
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
Tim Smith
6bc5c537a3 Further slim the files we ship in the gem artifact (#3647)
The artifact doesn't need the gemspec, gemfile or rakefile since we're not shipping tests already. Also there's no need for the changelog or maintainer file. For those a user should reference the github repo since these files are buried deep on the filesystem and not designed to be read through.

Signed-off-by: Tim Smith <tsmith@chef.io>
2018-12-04 10:54:17 -05:00
Chef Expeditor
af269ff39b
Executed '.expeditor/update_dockerfile.sh'
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-29 21:21:59 +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
Ian Savage
79f7239c69 Add SQLcl to Oracledb_session Doc (#3632)
* Add SQLcl option to oracledb_session.md.erb

Added sqlcl_bin option to oracledb_session documentation.

* Add SQLcl option to oracledb_session.md.erb

Signed-off-by: ibsavage <ianbsavage1@gmail.com>
2018-11-27 16:56:49 -05: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
Dominik Richter
ad9a7120d0 www: remove jquery sticky on the sidebar (#3623)
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2018-11-26 09:12:22 -05: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
Clinton Wolfe
35ad5d5528 Improvements to the functional helper run_inspec_process (#3603)
* Add run_inspec_process, with JSON handling, to functional helper
* Add ability to run a plugin to functional helper
* CWD fix for run_inspec_process
* Add support for running a plugin within a functional test
* Move plugin functional helper code to main func helper file
* FuncHelper: Do not send reporter or lock options if command is not exec

Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2018-11-16 17:03:40 -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
bf5815ed78
Executed '.expeditor/update_dockerfile.sh'
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-15 21:37:48 +00: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
Jared Quick
09b0c41e39
Update UUID documentation (#3612)
* Update UUID documentation
* Fix feedback.

Signed-off-by: Jared Quick <jquick@chef.io>
2018-11-15 13:19:37 -05:00
Adam Ward
efccf1770e Support cran packages for non-utf8 locales
Signed-off-by: Adam Ward <adamw@subdesigns.net>
2018-11-15 11:04:08 +11: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
8033134ebe
Executed '.expeditor/update_dockerfile.sh'
Obvious fix; these changes are the result of automation not creative thinking.
2018-11-08 22:12:57 +00: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