Commit graph

4091 commits

Author SHA1 Message Date
James Stocks
1d67349214 Do not inject config to base reporter
The base reporter class should access the InSpec config cache, instead of the runner needing to inject config into the base reporter

Signed-off-by: James Stocks <jstocks@chef.io>
2020-05-06 15:24:15 +01:00
Chef Expeditor
12b41fc183 Bump version to 4.18.112 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-05-06 10:50:57 +00:00
Clinton Wolfe
849bd90930 Parse CLI inputs as booleans
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 18:17:40 -04:00
Clinton Wolfe
acfda5a735 Clarify names of examples and a method
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 17:59:20 -04:00
Clinton Wolfe
e8d80dd3cd Update docs
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>

Linting

Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 17:37:23 -04:00
Clinton Wolfe
5e69e3bab6 Allow complex inputs on CLI
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 17:37:23 -04:00
Clinton Wolfe
d9f2cdb171 Fix for #4977 by adding a cleanup function for CLI inputs
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 17:37:23 -04:00
Clinton Wolfe
47baa59ed8 Add comment tracking when reporters will migrate
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 16:51:31 +01:00
Clinton Wolfe
5a7a48bb62 Basics of a working reporter plugin system
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 16:51:31 +01:00
Chef Expeditor
d9e5b65e3d Bump version to 4.18.111 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-05-05 10:28:20 +00:00
Nick Schwaderer
87d7978340
Merge pull request #5001 from inspec/ns/investigate_waivers_and_namespace_clashing
Allows input and control to have the same name
2020-05-05 11:28:03 +01:00
Nick Schwaderer
a1129f9efc Allows input and control to have the same name
In https://github.com/inspec/inspec/issues/4936 the issue was reported that naming an input the same as a control caused an unexpected failure.

In that particular case, the naming was a result of a pre-waivers workaround which is no longer necessary, but ultimately a breakage of that name clash is an unexpected occurrance.

Due to how inputs are named and registered, `__apply_waivers` thinks that an object is a waiver that is not a waiver and tries to process it. On the micro level, it breaks when trying to pass a variable to a string as if it were a Hash.

It is imperative that we preserve 100% of the current featureset, pass our tests, and fix this edge case along with new test coverage for the failure.

This PR updates the code to do a slightly more elegant and small ‘waiver check’ to stop the namespace clash from breaking our code.

Signed-off-by: Nick Schwaderer <nschwaderer@chef.io>
2020-05-05 10:00:19 +01:00
Chef Expeditor
3616ac21dc Bump version to 4.18.110 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-05-04 16:01:32 +00:00
James Stocks
69fb6e0782 Move reporter option handling to base
They don't need to be json specific, they should apply to any reporter if the user has chosen these settings.

Signed-off-by: James Stocks <jstocks@chef.io>
2020-05-04 15:24:50 +01:00
James Stocks
ae66aee2b2 (WIP) Reporter options to truncate message and suppress stacktrace
TODO: Option names are not JSON specific but only json reporter has been implemented.

Signed-off-by: James Stocks <jstocks@chef.io>
2020-05-04 15:24:50 +01:00
Chef Expeditor
2e887a94af Bump version to 4.18.109 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-05-01 14:22:05 +00:00
Clinton Wolfe
5a7ad0c352 Don't be obnoxious
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-04-30 15:36:25 -04:00
Clinton Wolfe
131d6678de Fix for prematurely warning when checking for input value
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-04-24 16:38:57 -04:00
Clinton Wolfe
e88dab4365 Update message when input has no value
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-04-24 14:13:07 -04:00
Chef Expeditor
b46b68ccd1 Bump version to 4.18.108 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-04-23 15:18:13 +00:00
James Stocks
14a85eba93
Merge pull request #4992 from inspec/ns/bump_method_source_version
Bumps method_source dependency version
2020-04-23 16:17:52 +01:00
Chef Expeditor
9200fec420 Bump version to 4.18.107 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-04-22 15:24:06 +00:00
Chef Expeditor
842d276bd3 Bump version to 4.18.106 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-04-22 08:10:56 +00:00
Clinton Wolfe
ad7569103e Alter inspec shell prompt to silence deprecation warning
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-04-21 16:38:21 -04:00
Clinton Wolfe
913dcac4b3 Alter call into Pry::Output to match new API and get shell tests passing
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-04-21 15:36:08 -04:00
John Snow
8d676f6ed2 Fix typo's after review
Signed-off-by: John Snow <thelunaticscripter@outlook.com>
2020-04-20 09:50:58 -04:00
John Snow
03c012e3c9 Add additional debug logging for automate login
Signed-off-by: John Snow <thelunaticscripter@outlook.com>
2020-04-17 15:50:40 -04:00
Chef Expeditor
7fa8d1ca68 Bump version to 4.18.105 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-04-09 16:18:16 +00:00
Clinton Wolfe
4f61e37395
Fixes for tests under ruby 2.7 (#4970)
Fixes for tests under ruby 2.7
2020-04-09 12:17:53 -04:00
Clinton Wolfe
a8b04769ca Ignore deprecation warning in fileutils and rubygems gems under ruby 2.7
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-04-08 10:56:55 -04:00
Chef Expeditor
c6f09eb6fb Bump version to 4.18.104 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-04-07 12:04:57 +00:00
Chef Expeditor
daca7a54a1 Bump version to 4.18.103 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-04-06 09:24:20 +00:00
James Stocks
951fcc9553
Merge pull request #4954 from tecracer-theinen/feature/virtualization-detection
Improve virtualization resource
2020-04-06 10:23:58 +01:00
Chef Expeditor
8a001d979d Bump version to 4.18.102 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-04-02 08:46:21 +00:00
James Stocks
502ad67eb8
Merge pull request #4949 from tecracer-theinen/theinen/source-option
Add support for alternate Gem source for plugin installation/search
2020-04-02 09:46:00 +01:00
Chef Expeditor
45eb3666c4 Bump version to 4.18.101 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-03-20 14:38:53 +00:00
Thomas Heinen
61646ad3af Add support for alternate Gem sources for plugin installation/search
Signed-off-by: Thomas Heinen <theinen@tecracer.de>
2020-03-19 11:40:18 +01:00
Axuba
b36113b7b7 Fix service not working correctly on windows machines
Signed-off-by: Axuba <ajubanyjuarez@gmail.com>
2020-03-15 21:14:23 +01:00
Thomas Heinen
6a90c10ae3 Improve virtualization resource
Signed-off-by: Thomas Heinen <theinen@tecracer.de>
2020-03-11 17:46:32 +01:00
Chef Expeditor
2f5f919ee1 Bump version to 4.18.100 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-03-03 16:55:47 +00:00
Clinton Wolfe
5f0638d3ed
Fix platform detection on hab (#4934)
Fix platform detection on hab
2020-03-03 11:55:28 -05:00
Clinton Wolfe
7939efa58c Switch platform properties to use brackets instead of dot notation
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-03-02 20:43:44 -05:00
Chef Expeditor
dd708effd5 Bump version to 4.18.99 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-03-03 00:59:51 +00:00
Clinton Wolfe
00a9f0966a
Explicitly require the compliance fetcher (#4938)
Explicitly require the compliance fetcher
2020-03-02 19:59:34 -05:00
Clinton Wolfe
628b9fb78b Explicitly require the compliance fetcher
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-03-02 17:33:56 -05:00
Chef Expeditor
3102a68a6c Bump version to 4.18.98 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-03-02 20:12:53 +00:00
Clinton Wolfe
505c28eadb Make platform release optional
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-02-27 11:41:43 -05:00
Chef Expeditor
b5e9d3d55f Bump version to 4.18.97 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-24 23:18:11 +00:00
Clinton Wolfe
231c4bf048 Rollback library eval context de-meta-programming
This broke creation of custom resources in resource packs,
and also made privrivea resource registries too private.

Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-02-21 16:36:47 -05:00
Chef Expeditor
366cbd87b0 Bump version to 4.18.96 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-20 18:33:15 +00:00
Chef Expeditor
7888738cc0 Bump version to 4.18.95 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-18 18:04:09 +00:00
Clinton Wolfe
5b81c5ad39
In habitat, train-* are system gems (#4897)
In habitat, train-* are system gems
2020-02-18 13:03:49 -05:00
Chef Expeditor
0fc7db1d51 Bump version to 4.18.94 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-14 15:27:25 +00:00
Ross Moles
e7f01151f0 Merge branch 'master' into oracledb_session_resource 2020-02-14 10:50:10 +00:00
Clinton Wolfe
6ca16792e7 Only activate train user plugin gems after we have determined if they are system or user
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-02-13 18:38:55 -05:00
Chef Expeditor
517e0733fe Bump version to 4.18.93 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-13 21:25:34 +00:00
Chef Expeditor
3f05bb1f75 Bump version to 4.18.92 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-13 20:13:07 +00:00
Clinton Wolfe
03d394a51b
Fix auditd resource processing of action and list (#4665)
Fix auditd resource processing of action and list
2020-02-13 15:12:47 -05:00
Chef Expeditor
94dbbccfca Bump version to 4.18.91 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-13 18:46:27 +00:00
Ross Moles
71ee45c70e Add missing @ to bin in command builder
Signed-off-by: Ross Moles <rmoles@chef.io>
2020-02-13 15:49:26 +00:00
Ross Moles
f0293e0e5a remove send
Signed-off-by: Ross Moles <rmoles@chef.io>
2020-02-13 10:29:09 +00:00
Ross Moles
87998c9830 update unit test
Signed-off-by: Ross Moles <rmoles@chef.io>
2020-02-12 18:18:54 +00:00
Ross Moles
babd4aebf8 resolve code climate errors
Signed-off-by: Ross Moles <rmoles@chef.io>
2020-02-12 17:12:12 +00:00
Ross Moles
f375a471e1 Refactor oracledb_session resource
Signed-off-by: Ross Moles <rmoles@chef.io>
2020-02-12 16:24:23 +00:00
Chef Expeditor
b557eaff7e Bump version to 4.18.90 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-11 21:07:54 +00:00
Chef Expeditor
38919fbd18 Bump version to 4.18.89 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-11 03:13:05 +00:00
Ryan Davis
3e3dbdc8f1
Merge pull request #4898 from inspec/zenspider/system-plugin/fixes
Distinguish between user plugin gems and system gems and load system gems normally.
2020-02-10 19:12:49 -08:00
Chef Expeditor
2c7336ad32 Bump version to 4.18.88 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-11 02:57:42 +00:00
Chef Expeditor
a27562339b Bump version to 4.18.87 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-11 02:38:50 +00:00
Miah Johnson
7bb0bb2188
Merge pull request #4865 from inspec/jh/schema-improvements
Jh/schema improvements
2020-02-10 18:38:28 -08:00
Miah Johnson
bf7931bc76 ui doesn't exist here yet, we're pre-ui'ish. So lets just call exit
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2020-02-10 14:55:27 -08:00
Miah Johnson
8be265772b fixup_train_plugin_status should not activate gems.
This is handled by load_all already.

Signed-off-by: Miah Johnson <miah@chia-pet.org>
2020-02-10 14:52:12 -08:00
Chef Expeditor
969b9056c8 Bump version to 4.18.86 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-10 20:36:23 +00:00
Clinton Wolfe
774b5944fb
Detect install type via install path (#4856)
Detect install type via install path
2020-02-10 15:36:04 -05:00
Ryan Davis
3eac105498 Distinguish between core gems and system gems and load system gems normally.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-07 14:40:56 -08:00
Chef Expeditor
961b3662c4 Bump version to 4.18.85 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-06 20:25:55 +00:00
Clinton Wolfe
8a05908a87 Don't try to fool Thor's option type checker for --airgap on archive command
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-02-06 11:02:50 -05:00
Miah Johnson
4f642e0942 Clean up schema PR.
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2020-02-05 17:06:55 -08:00
Jacob Henry
724f82237b Revision of schema to JSON Schema draft 7
Signed-off-by: Jacob Henry <jchenry@mitre.org>
2020-02-05 17:05:47 -08:00
Clinton Wolfe
f8d99eabb9 Move path_exist test code into test file
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-02-05 12:15:48 -05:00
Chef Expeditor
3f1349b054 Bump version to 4.18.84 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-04 19:54:51 +00:00
Chef Expeditor
9f2b621f9b Bump version to 4.18.83 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-04 00:42:29 +00:00
Ryan Davis
cac6b88c03 Fixed error on ruby 2.4 because define_method was private.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
89a0b44c64 Refactored and moved Resource.create_dsl to ProfileContext.
ProfileContext#to_resources_dsl is the only usage of it.
The responsibility for this code should be on ProfileContext.

Refactored a majority of #create_dsl to be a 2-line long Module.new
instead of 36 lines. Much less magic. Still has an anonymous module
but it is now much easier to address and debug.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
fa3122cbff Removed metaprogramming in Inspec::Backend.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
cea752a01d Tweak for aws resources to determine if they're still under test.
Everyone now has an `inspec` method, but the AWS ones still return
nil as their backend hasn't been set up.

This seems wrong...

Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
950c79319e Moved __register down to bookkeeping section.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
b38a3b05f9 Reworked Resource.__register's metaprogramming to be as small as possible.
Mostly involved pushing up all the regular initialize code to a
regular method, calling that, THEN doing super up to the resource
initialize.

This brings __register's Class.new to 5 lines.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
43f520b4a8 Merged Inspec::Plugins::Resource to Inspec::Resource.
This also removes Inspec::ResourceBehaviors and Inspec::ResourceDSL.

All class methods look like class methods.
All instance methods look like instance methods.

There is still too much clever going on with __register creating
another anonymous subclass, but I think I can work that out/down too.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
44a006a05a Rename Inspec::Resource.supports to support_registry.
To fix an already existing name collision between Inspec::Resource and
Inspec::Plugins::Resource.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:19:32 -08:00
Ryan Davis
f0a5ddd4df Simple refactoring + assign __resource_registry to the current if needed.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:19:32 -08:00
Ryan Davis
81dfe21a98 First pass reworking LibraryEvalContext.
This takes 3 anonymous Class.new w/ no superclasses, no documentation,
and no obvious clue as to what anything is and drops it down to 2
Class.new w/ superclasses, documents what it can, and makes it much
more clear what is going on. (yet, still not clear)

It also actually uses LibraryEvalContext. Having names is important.
Probably more important than any of the rest of this diff.

One extra thing this adds is Module.find_class_instance_variable and
hooks it up to Resource.__resource_registry. This allows it to find a
class-level registry regardless of whether it was hidden in an
anonymous superclass or not.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:19:32 -08:00
Ryan Davis
07631a53e7 Added extra doco on our require method.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:19:32 -08:00
Ryan Davis
d7bae9de30 Mostly minor cleanup, clarification, and comments.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:19:32 -08:00
Ryan Davis
fdc281d19c Clean up the end of our custom require.
There are only 2 options. Shortcutting one of them with a `require` just
makes it messy. Use `if`. It's really basic. Basic is good. Maybe we
should try to push towards basic and good. It would be work but make
us happier in the long run.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:18:56 -08:00
Ryan Davis
51b65f6c2e Overhaul Platform#supported?
+ State normal path first.
+ Use Enumerable to state your logic up front, don't build it into
  loops with breaks/returns.
+ Remove nonsensical duplication of key formats. (should push up or remove)
+ Had to add an extra test case that wasn't covered here but was in
  metadata_test.rb (why?!?)

Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:18:56 -08:00
Ryan Davis
10cb92da48 Clean up Platform#params.
State your normal case first, then deal with edge cases, not the other
way around.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:18:56 -08:00
Ryan Davis
aef285a1f6 Don't meta-program if you don't need to.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:18:56 -08:00
Ryan Davis
06ceba3f3d Add test for LEC to expose second-level libraries require.
Not the best test in the world, but it is better than nothing.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:18:56 -08:00
Chef Expeditor
3cfd35f98f Bump version to 4.18.82 by Chef Expeditor
Obvious fix; these changes are the result of automation not creative thinking.
2020-02-01 02:04:23 +00:00