Commit graph

2742 commits

Author SHA1 Message Date
Steven Danna
d64b72d71d
Replace Molinillo-based resolver
The Molinillo library is a good library for systems that need a
constraint solver that will solve dependency problems requiring a single
version of each named dependency.

In our case, the eventual goal is to allow libraries to have conflicting
transitive dependencies at runtime. Isolation will be provided by
restricting all calls within a given profile to scope which can only see
that profile's dependencies.

To facilitate working on the isolation feature, I've replaced the
Molinillo-based resolver with a minimal resolver which will allow us to
load multiple versions of the same library.

Since we will likely want a good amount of logging around this feature
in the future, I've added a Inspec::Log singleton-style class, replacing
the previous Inpsec::Log which appeared unused in the code base.

Signed-off-by: Steven Danna <steve@chef.io>
2016-08-23 14:27:57 +01:00
Christoph Hartmann
961e815804 Merge pull request #949 from chef/ssd/deps-lockfile
Add prototype of inspec.lock
2016-08-23 15:25:08 +02:00
Steven Danna
d9b6210d30
Remove unused url functions from fetchers
Signed-off-by: Steven Danna <steve@chef.io>
2016-08-23 13:54:56 +01:00
Steven Danna
02d611e68c
Add archive_path helper to Tar and Url fetchers
Eventually I think we'll want this as part of the fetcher API generally.

Signed-off-by: Steven Danna <steve@chef.io>
2016-08-23 13:54:56 +01:00
Steven Danna
a6ec345eac
Don't set nil cwd in inspec/profile 2016-08-23 13:54:56 +01:00
Steven Danna
3049eb1388
Add comments based on code review and plans for future work
Signed-off-by: Steven Danna <steve@chef.io>
2016-08-23 13:54:56 +01:00
Steven Danna
9c1b82e7d4
Add prototype of inspec.lock
This adds a basic prototype of inspec.lock. When the lockfile exists on
disk, the dependencies tree is constructed using the information in the
lock file rather than using the resolver.

Signed-off-by: Steven Danna <steve@chef.io>
2016-08-23 13:54:55 +01:00
Christoph Hartmann
13e9a69701 Merge pull request #945 from chef/os_helpers
Add darwin helper
2016-08-23 13:55:58 +02:00
Dominik Richter
3222670379 Merge pull request #943 from chef/ksubrama/shell2
Fix command evaluation for inspec shell -c
2016-08-23 12:09:15 +02:00
Tim Smith
d953986d25 Add darwin helper
Signed-off-by: Tim Smith <tsmith@chef.io>
2016-08-23 10:37:52 +02:00
Kartik Null Cating-Subramanian
039c760545 Fixup behavior and add functional tests 2016-08-23 03:07:23 +02:00
Kartik Null Cating-Subramanian
01763d43ed Fix command evaluation for inspec shell -c 2016-08-23 03:07:23 +02:00
Dominik Richter
856dd920f7 Merge pull request #947 from chef/vj/document-or-feature
document OR feature
2016-08-22 21:58:43 +02:00
Victoria Jeffrey
8bb791c12f document OR feature 2016-08-21 19:01:59 -04:00
Christoph Hartmann
baaaf3c95b Merge pull request #944 from chef/os_docs
Update platforms in the docs to match the code
2016-08-19 20:22:08 +02:00
Tim Smith
0dbe816f57 Docs should reference family not platform
Signed-off-by: Tim Smith <tsmith@chef.io>
2016-08-19 20:14:03 +02:00
Tim Smith
86247c012f Add missing platforms to the docs
Signed-off-by: Tim Smith <tsmith@chef.io>
2016-08-19 20:14:03 +02:00
Tim Smith
bdc6e23a9a Update links in the maintainers docs 2016-08-19 20:14:03 +02:00
Christoph Hartmann
2ac94cb947 0.31.0 2016-08-19 20:05:56 +02:00
Christoph Hartmann
64964aa9bd Merge pull request #925 from chef/ksubrama/docs
inspec shell documentation - Fix #805
2016-08-19 20:02:33 +02:00
Kartik Null Cating-Subramanian
83d9deda4f inspec shell documentation 2016-08-19 19:29:32 +02:00
Christoph Hartmann
55193fca15 Merge pull request #909 from chef/ksubrama/shell
Improve inspec shell by having it evaluate describe/control blocks.
2016-08-19 19:28:24 +02:00
Kartik Null Cating-Subramanian
33ae22d313 Support controls and describe blocks in InSpec shell 2016-08-19 19:07:23 +02:00
Christoph Hartmann
2848aeb07d Merge pull request #941 from chef/chris-rock/fix-functional-tests
fix functional test for compliance plugin
2016-08-19 17:52:49 +02:00
Christoph Hartmann
f72fddb114 fix functional test for compliance plugin 2016-08-19 17:16:19 +02:00
Christoph Hartmann
1e93d370fe Merge pull request #935 from chef/ssd/dep-url-fetch-1
Fetch deps based on urls
2016-08-19 09:58:09 +02:00
Christoph Hartmann
95029203cd unique controls for dependency tests 2016-08-19 09:47:41 +02:00
Steven Danna
bde8aa6768 Add basic class descriptions
Signed-off-by: Steven Danna <steve@chef.io>
2016-08-19 09:47:40 +02:00
Steven Danna
f97924901e Ensure we expand requirements with respect to cwd
Signed-off-by: Steven Danna <steve@chef.io>
2016-08-19 09:47:40 +02:00
Steven Danna
d779dd53ae Move all dependency related classes into inspec/dependencies
Signed-off-by: Steven Danna <steve@chef.io>
2016-08-19 09:47:40 +02:00
Steven Danna
2041a08aa2 Fetch deps based on urls
This extends the dependency feature to include support for url-based
dependencies.  It takes some deviations from the current support for
URLs that we'll likely want to make more consistent.

By default, we store downloaded archives in the cache rather than the
unpacked archive. However, to facilitate debugging, we will prefer the
unpacked archive if we find it in the cache.

Signed-off-by: Steven Danna <steve@chef.io>
2016-08-19 09:47:40 +02:00
Steven Danna
afc581b613 Cleanup dependency class organization
- Move classes into their own files
- Remove classes that aren't used

Signed-off-by: Steven Danna <steve@chef.io>
2016-08-19 09:47:40 +02:00
Christoph Hartmann
16ae499d05 Merge pull request #938 from chef/vj/fix-inspec-compliance-login-help
give accurate information for inspec compliance login --help
2016-08-18 21:01:09 +02:00
Christoph Hartmann
af04a0f5ba implement workaround for thor 2016-08-18 20:50:49 +02:00
Victoria Jeffrey
b98c3e243e give accurate information for inspec compliance login --help 2016-08-18 20:00:27 +02:00
Christoph Hartmann
a2cbe6ed8d Merge pull request #930 from chef/vj/fix-cli-profiles-output-bad-token
fail gracefully on inspec compliance profiles when bad token is provided
2016-08-18 19:54:19 +02:00
Christoph Hartmann
cf784ded7c update exit codes 2016-08-18 19:40:08 +02:00
Victoria Jeffrey
c3d245fafd fail gracefully on inspec compliance profiles when bad token is provided 2016-08-18 19:35:29 +02:00
Christoph Hartmann
fca62b5148 Merge pull request #937 from pburkholder/pdb/doc_ports
Document awesome where syntax for port
2016-08-18 19:34:46 +02:00
Peter Burkholder
69a96665de Document awesome where syntax for port 2016-08-18 12:29:23 -04:00
Christoph Hartmann
d13a8ff16f Merge pull request #932 from chef/vj/update-token-msg
return token stored message on login
2016-08-18 18:12:21 +02:00
Victoria Jeffrey
24a2c5c356 return token stored message on login 2016-08-18 16:47:34 +02:00
Christoph Hartmann
b84b721b83 Merge pull request #934 from chef/chris-rock/compliance-bundler
Ease testing of compliance integration tests
2016-08-18 16:46:46 +02:00
Christoph Hartmann
502aef54fd use bundler instead of gem, to speed up integration testing for different versions 2016-08-18 16:32:45 +02:00
Christoph Hartmann
696ba5bf80 Merge pull request #929 from chef/ssd/dep-recurse-1
Fix recursive deps for path-based deps
2016-08-18 16:32:11 +02:00
Steven Danna
34ae3122e9 Fix recursive deps for path-based deps
Signed-off-by: Steven Danna <steve@chef.io>
2016-08-18 16:02:16 +02:00
Christoph Hartmann
306688fb97 Merge pull request #933 from chef/chris-rock/restrucutre-unit-tests
restructure unit tests
2016-08-18 14:28:48 +02:00
Christoph Hartmann
1d8f8bb3e3 restructure unit tests 2016-08-18 13:47:43 +02:00
Christoph Hartmann
ab076908b4 Merge pull request #927 from chef/vj/fix-false-msg-compliance-login
Remove false username/passwd msg from inspec compliance login
2016-08-17 17:26:00 +02:00
Victoria Jeffrey
bdb1d913d9 Remove false username/passwd msg from inspec compliance login 2016-08-17 17:15:52 +02:00