Commit graph

1045 commits

Author SHA1 Message Date
Christoph Hartmann
e1d7d30919 add deprecation warning for serverspec users 2016-01-03 00:03:24 +01:00
Christoph Hartmann
a72ba94f10 handle mount results with multiple entries 2016-01-03 00:03:24 +01:00
Christoph Hartmann
9930773f37 restrict mount functionality to linux 2016-01-03 00:03:24 +01:00
Christoph Hartmann
a5acb03e49 add mount resource 2016-01-03 00:03:24 +01:00
Christoph Hartmann
772df929f6 implement be_mounted.with for file resources 2016-01-03 00:03:24 +01:00
Christoph Hartmann
19ed6be39f more fine-grained utils parser 2016-01-02 22:41:58 +01:00
Christoph Hartmann
3be9ea18cc use 1.8 syntax for dash key values to be compatible with older ruby versions 2016-01-02 22:29:31 +01:00
Christoph Hartmann
c11c36058a separate os check 2016-01-02 21:25:22 +01:00
Dominik Richter
d6f48d3534 catch empty support clause 2015-12-31 17:57:59 +01:00
Dominik Richter
af8e4e93ca add supports keyword to profiles 2015-12-31 17:54:13 +01:00
Dominik Richter
2e0da6e9e8 unify metadata resolution 2015-12-31 12:49:18 +01:00
Dominik Richter
3db2dd756d resolve metadata from profile targets 2015-12-31 12:49:18 +01:00
Dominik Richter
e7b7f166cf dry folder resolver 2015-12-31 12:49:18 +01:00
Dominik Richter
96c9794cbf bugfix: reload inspec DSL after loading libraries 2015-12-29 19:27:00 +01:00
Dominik Richter
526932584d fix metadata validation 2015-12-28 13:35:38 +01:00
Dominik Richter
cfa2b9a39c fix metadata reading and parsing 2015-12-28 13:16:09 +01:00
Dominik Richter
cdc95df5ca keep metadata checks in metadata.rb 2015-12-28 13:07:21 +01:00
Dominik Richter
aef0cabde8 fix method length in inspec.check 2015-12-28 13:01:27 +01:00
Christoph Hartmann
0ab46ff5b1 rename metadata.yml to inspec.yml 2015-12-28 12:53:42 +01:00
Christoph Hartmann
1d4295ee4d remove owner/name restriction 2015-12-28 12:53:42 +01:00
Christoph Hartmann
06c1265b38 add support for .tgz extension. Thanks @srenatus 2015-12-28 12:53:42 +01:00
Christoph Hartmann
31c8509092 lint profile implementation 2015-12-28 12:53:42 +01:00
Christoph Hartmann
27150e5341 feature: generate profile archive 2015-12-28 12:53:42 +01:00
Christoph Hartmann
9da0e32f3d bugfix: only add path to load path if the test is located on filesystem 2015-12-28 12:53:42 +01:00
Christoph Hartmann
ebe54efd67 feature: load tests from zip and tar.gz 2015-12-28 12:53:42 +01:00
Christoph Hartmann
43c778078c feature: add support for metadata.yml 2015-12-28 12:53:42 +01:00
Christoph Hartmann
9e8e64319e improvement: better detection of directory types 2015-12-28 12:53:42 +01:00
Christoph Hartmann
bb97044338 bugfix: fix profile check 2015-12-28 12:53:38 +01:00
Christoph Hartmann
9fda6d3e89 bugfix: use skip_control instead of skip_rule as default 2015-12-28 12:07:57 +01:00
Christoph Hartmann
e122e48ae5 change profile directory from 'test' to 'controls' 2015-12-28 12:07:57 +01:00
Dominik Richter
7473dea1f2 ignore auto-generated controls during verify check 2015-12-23 11:11:49 +01:00
Dominik Richter
b2e0fac625 change check errors on summary+title to warnings 2015-12-23 09:18:59 +01:00
Dominik Richter
d2509f745e reference correct fields from metadata in inspec check 2015-12-23 09:18:59 +01:00
Dominik Richter
25706b3612 0.9.7 2015-12-21 16:31:48 +01:00
Christoph Hartmann
ca33ac9288 Merge pull request #321 from jeremymv2/security_policy_fixes
Fixing issue with security policy always returning nil
2015-12-17 17:55:01 +01:00
Jeremy J. Miller
f1e8483cd8 Removed extra whitespace 2015-12-17 08:56:43 -05:00
Stephan Renatus
3a1dcb7669 teach cmp matcher octal tricks 2015-12-16 11:32:31 +01:00
Jeremy J. Miller
af55cb41d8 Added ensure block to always delete file 2015-12-15 14:40:57 -05:00
Jeremy J. Miller
652392918d Fixing issue with security policy always returning nil 2015-12-15 10:29:54 -05:00
Stephan Renatus
a5a780f920 reset rspec configuration when initializing Inspec::Runner
fixes https://github.com/chef/kitchen-inspec/issues/15
2015-12-15 14:00:53 +01:00
troyready
29f954f7f3 add release to el pkg version & catch missing linebreaks
Package release info (e.g. '19.el7') is often required to determine if
a system has been properly patched.

Lines like the following from rpm are messing up the version returned
by the package resource:
"...\nVersion     : 1.8.6p3                           Vendor: Red Hat, Inc.\n..."
Correcting this with a new conditional check.
2015-12-11 13:05:22 -08:00
Dominik Richter
cc67d8d4c0 0.9.6 2015-12-11 18:34:15 +01:00
Dominik Richter
494ed708d4 Merge pull request #318 from chef/chris-rock/cmp-matcher
matcher for less-restrictive comparison
2015-12-11 17:58:47 +01:00
Christoph Hartmann
0185751ff5 lint exception 2015-12-11 17:48:05 +01:00
Christoph Hartmann
52cd0b38d1 update style of float? detection 2015-12-11 17:26:46 +01:00
Christoph Hartmann
31f8863701 update failure message for cmp matcher 2015-12-11 17:19:28 +01:00
Christoph Hartmann
53728ee03a lint fix 2015-12-11 17:17:01 +01:00
Christoph Hartmann
9f0755be99 add new cmp matcher that eases the comparison for values 2015-12-11 17:02:48 +01:00
Christoph Hartmann
b2c457cf22 lint: remove redundant return 2015-12-11 15:39:49 +01:00
Christoph Hartmann
6badbf4dc9 bugfix: abort registry_key resource if the os is not supported 2015-12-11 15:39:49 +01:00
Christoph Hartmann
90e1eb9e39 bugfix: always ensure the script resource is properly initialized, even if the os is not supported 2015-12-11 15:39:49 +01:00
Christoph Hartmann
7422306ba7 lint fix 2015-12-11 14:34:28 +01:00
Christoph Hartmann
95c7ba8fe5 simplify prompt color setting 2015-12-11 14:29:31 +01:00
Christoph Hartmann
100df85b27 improve shell prompt and help 2015-12-11 14:03:36 +01:00
Stephan Renatus
652d51e9dc [resource/port] add port(addr, port) variant 2015-12-08 20:33:36 +01:00
Stephan Renatus
8532dd7034 [resource/port] change attribute names to plural, indicating arrays
see discussion in #256
2015-12-08 20:33:36 +01:00
Adam Leff
c146a76679 File permission checks should return false unless file exists
Currently, #readable?, #writeable?, and #executable? will incorrectly
return true if the file does not exist.

In addition, I took the opportunity to refactor the File resource to
make it easier to write unit tests and supplied a full unit test
suite for this resource.
2015-12-08 19:57:34 +01:00
Stephan Renatus
7a1cd660c3 [resources/processes] add users, states attribute; update docs
processes('bash').user does not actually make much sense for a resource
that is a list -- different entries can belong to different users.
Analogous for processes('bash').state.

The attributes 'users' and 'states' expose the unique values
corresponding to that property of entries in the process list.

Fixes #295.
2015-12-08 13:06:27 +01:00
Stephan Renatus
bf15c05f7f Merge pull request #299 from chef/chris-rock/os-resource
support string and symbol for os resource
2015-12-07 12:22:58 +01:00
Stephan Renatus
33f2fe3dde hide summary output when running interactively (inspec shell) 2015-12-07 11:12:41 +01:00
Stephan Renatus
17a80d32a9 remove second welcome 2015-12-07 11:12:41 +01:00
Stephan Renatus
c6fd8c5880 mention help [resource] 2015-12-07 11:12:41 +01:00
Christoph Hartmann
dcb09802d3 support string and symbol for os resource 2015-12-07 11:11:55 +01:00
Stephan Renatus
79f48afa6c [resources/apache_conf]: add tests, fix bug
before, the resource would throw an exception when include_files
returned nil (i.e., [].flatten!)

added basic unit tests capturing the include_files behaviour
2015-12-07 10:50:48 +01:00
Christoph Hartmann
7c393a1891 Merge pull request #291 from chef/sr/fix-find_files
revert to old find_files interface
2015-12-04 14:41:36 +01:00
Stephan Renatus
324ba14a6b fix optional type argument handling 2015-12-04 14:27:32 +01:00
Stephan Renatus
390e0fcca7 restore old find_files interface
- fixes #276
- basic test for find_files
2015-12-04 14:15:45 +01:00
Adam Leff
e0c356dae7 Adding support for Wind River Linux
WRL is used as the OS on Cisco Nexus devices and acts like a Red
Hat variant. These changes add support for WRL.
2015-12-03 17:41:11 -05:00
Christoph Hartmann
766fe47b87 add inline documentation 2015-12-01 10:56:47 +01:00
Christoph Hartmann
6a6cff1526 feature: add help command for resources 2015-12-01 10:56:47 +01:00
Christoph Hartmann
2c8a8ccb25 improvement: add etc_group support for centos and add integration test 2015-12-01 10:40:12 +01:00
Dominik Richter
762562b967 0.9.5 2015-11-25 15:43:31 +01:00
Dominik Richter
468159772f 0.9.4 2015-11-24 20:04:31 +01:00
Christoph Hartmann
a822dcee1a optimize code structure 2015-11-24 18:39:32 +01:00
Christoph Hartmann
0bd7f557d5 bugfix: do manual split of id result because we cannot use whitespace 2015-11-24 18:35:10 +01:00
Christoph Hartmann
be62b76dc2 improvement: add checks to ensure the requested file is available 2015-11-24 16:46:17 +01:00
Christoph Hartmann
60e2a3512f add init resource 2015-11-24 16:46:17 +01:00
Christoph Hartmann
0657525f4d lint json resource 2015-11-24 16:46:17 +01:00
Christoph Hartmann
62ecdf6a1f rewrite extraction of values 2015-11-24 16:46:17 +01:00
Christoph Hartmann
b70ba447b2 simplify method returns 2015-11-24 10:41:46 +01:00
Christoph Hartmann
129395141b bugfix: make registry_key case-insensitive for properties 2015-11-23 16:26:17 +01:00
Dominik Richter
75d8b9388b 0.9.3 2015-11-20 23:33:18 +01:00
Seth Chisamore
606f618fc7 ensure all test directories are on the runner $LOAD_PATH
This change builds on chef/kitchen-inspec#12. All test directories should
be on the `$LOAD_PATH` when `Inspec::Runner` executes the test suites with
`RSpec::Core::Runner`. This will allow things like `require 'spec_helper'`
to work as expected.
2015-11-20 00:14:57 -05:00
Seth Chisamore
beade346bf Add Windows support to the os_env resource
This change allows checks like:

```
describe os_env('PATH') do
  its('split') { should include('C:\wix') }
end
```
2015-11-19 15:41:00 +01:00
Dominik Richter
a04ff021c6 bugfix: support multiple computed calls to describe
fixes #246
2015-11-19 14:28:42 +01:00
Christoph Hartmann
b899430541 bugfix: add attribute reader to make the command accessible to script resource 2015-11-17 22:40:07 +01:00
Christoph Hartmann
cb95951e03 simplify script resource 2015-11-17 22:28:11 +01:00
Christoph Hartmann
cd35d82326 improvement: reimplement registry key resource 2015-11-17 22:28:11 +01:00
Christoph Hartmann
c6166e335b lint: fix lint error 2015-11-17 12:29:33 +01:00
Christoph Hartmann
850af710b0 improvement: add v6 protocol detection, it netstat does not deliver the information 2015-11-17 12:15:49 +01:00
Christoph Hartmann
9e3dccbfa3 improvement: restrice rescue to URI parse error 2015-11-17 12:14:05 +01:00
Christoph Hartmann
a4c47e1cd7 bugfix: fix regular expression to leave port colon 2015-11-17 12:12:59 +01:00
Christoph Hartmann
0de7549a64 lint: remove trailing whitespace 2015-11-16 21:44:12 +01:00
Christoph Hartmann
7898c1d29c improvement: optimize regular expression, catch parse errors and ignore header lines 2015-11-16 20:33:49 +01:00
Christoph Hartmann
83e6f46724 add centos support for port 2015-11-16 20:32:43 +01:00
Dominik Richter
17ce88b63d api: don't force root on os_env 2015-11-13 12:10:22 +01:00
Dominik Richter
069075b48a lint 2015-11-13 10:46:04 +01:00
Christoph Hartmann
7b179872bd extend upstart implementation to support systemv services 2015-11-13 09:54:30 +01:00
Dominik Richter
6cbe3466fb update rubocop 0.35.1 2015-11-13 01:03:15 +01:00
Dominik Richter
007594eef7 lint 2015-11-13 00:48:52 +01:00
Dominik Richter
b47409fd73 0.9.2 2015-11-05 18:40:24 +01:00
Dominik Richter
faa0b41803 bugfix: correct add_content call to new param structure
this was breaking inspec shell
2015-11-05 18:35:38 +01:00
Dominik Richter
b31501ab93 0.9.1 2015-11-04 00:51:16 +01:00
Dominik Richter
6c36720bd1 0.9.0 2015-11-03 03:04:57 +01:00
Dominik Richter
6e548364f4 bugfix: dont skip controls during json generation 2015-11-03 01:10:05 +01:00
Dominik Richter
ea66947b36 dont warn on command not existing on mock backend 2015-11-03 00:35:45 +01:00
Dominik Richter
6e8c4f02a1 fix typo 2015-11-03 00:35:45 +01:00
Christoph Hartmann
9d32bc7f81 improvement: fail properly if os is not supported 2015-11-02 22:58:20 +00:00
Christoph Hartmann
b1153685a4 bugfix: relax fail for command.exist? for inspec check command 2015-11-02 22:52:04 +00:00
Dominik Richter
7a07c02b4d alias rule instead of recreating it 2015-11-02 22:43:20 +01:00
Dominik Richter
ccabe55608 api: change require/include_rules -> require/include_controls 2015-11-02 22:26:20 +01:00
Dominik Richter
f976730a27 api: make control the default keyword 2015-11-02 22:26:20 +01:00
Dominik Richter
9aec339d9f disable class length metrics on profile context for now 2015-11-02 17:47:04 +01:00
Dominik Richter
de8437caa6 feature: introduce group title for files 2015-11-02 17:31:56 +01:00
Dominik Richter
93ee171dfa bugfix: use full path when resolving files 2015-11-02 16:43:39 +01:00
Dominik Richter
31d42b0212 lint: ignore line length on runner for now 2015-11-02 15:06:48 +01:00
Dominik Richter
421d7ecaa9 feature: auto-load libraries in profiles 2015-11-02 15:06:48 +01:00
Dominik Richter
f410ee3dba simplify folder resolver 2015-11-02 15:06:48 +01:00
Dominik Richter
22bf549e0b api: change library loading from /lib -> /libraries 2015-11-02 15:06:48 +01:00
Christoph Hartmann
d470803c37 improve command.exist? for more operating systems 2015-11-02 12:06:42 +01:00
Dominik Richter
13a6538acf temporarily disable rubocop metric on profile 2015-11-02 10:06:35 +01:00
Christoph Hartmann
ea47c5add8 use new internal structure for inspect check 2015-11-02 09:59:15 +01:00
Christoph Hartmann
4a676f55c3 remove dup method users, use usernames, fix example 2015-11-02 00:22:08 +01:00
Dominik Richter
d328919370 simplify resiliance 2015-11-01 23:48:29 +01:00
Christoph Hartmann
cdab39079a improvement: make os_env command more robust 2015-11-01 23:22:01 +01:00
Christoph Hartmann
1be689b77e remove exit_status and only call split if we have a string 2015-11-01 23:21:08 +01:00
Christoph Hartmann
324fa4881f do not offer stderr method via os_env 2015-11-01 23:14:12 +01:00
Christoph Hartmann
1941606b9e deactivate group policy for now 2015-11-01 22:39:30 +01:00
Christoph Hartmann
9e53556379 fix os_env example 2015-10-31 11:55:10 +01:00
Dominik Richter
24451469ca api: method_missing doesnt resolve hashmaps
Since #its has its(pun) own way of handling calls with a dot-notation, the full call is never passed to the resource. For example:

```ruby
describe json('file') do
  its('a.b.c') { should eq 123 }
end
```

This is resolved to calling `json('file').a.b.c` and thus doesnt work as an intended `json('file').send('a.b.c'). For now use
regular its-behavior of calling `json('file').params ...  its(%w{a b c}) { should ... }`.

Its' behavior must be improved.
2015-10-27 16:35:43 +01:00
Dominik Richter
8daf8dfa86 lint 2015-10-27 03:07:38 +01:00
Dominik Richter
59a8ca6639 construct profile in legacy structure
This is a temporary commit to achieve compliance with other components. It will be overturned before the final release.
2015-10-27 02:29:11 +01:00
Dominik Richter
5720aa3294 bugfix: detect filename+line for all example blocks 2015-10-27 02:29:11 +01:00
Dominik Richter
32e5e3ec29 move to symbols-based fields in profile params 2015-10-27 02:29:11 +01:00
Christoph Hartmann
cdb30c356f add apache base config 2015-10-27 02:20:29 +01:00
Dominik Richter
b280203d03 consistently set an empty logger in non-verbose mode 2015-10-26 18:27:46 +01:00
Dominik Richter
471a723b83 restore parse_passwd_line to be public, thanks @chris-rock 2015-10-26 17:16:05 +01:00
Dominik Richter
d5973d1189 bugfix: harmonize postgres session handling 2015-10-26 16:59:46 +01:00
Dominik Richter
e76b83a24e bugfix: mysql conf and session handling 2015-10-26 16:58:42 +01:00
Dominik Richter
5485111907 bugfix: support missing conf path for postgres_conf 2015-10-26 16:50:49 +01:00
Dominik Richter
414bf6b1fa bugfix: handle empty processes result 2015-10-26 16:49:26 +01:00
Dominik Richter
ec6d1e680a support postgres_session resource 2015-10-26 16:47:45 +01:00
Dominik Richter
ee0e9fc7c1 mock outer dsl attributes method 2015-10-26 16:44:20 +01:00
Dominik Richter
1613add894 bugfix: group policy needs a name for init 2015-10-26 16:40:21 +01:00
Dominik Richter
6dc0a3b638 rename inetd_config -> inetd_conf
be consistent with the filename
2015-10-26 16:21:51 +01:00
Dominik Richter
0ac3c412aa bugfix: support empty content in simpleconfig 2015-10-26 16:16:42 +01:00
Dominik Richter
03fe892899 bugfix: handle empty parseconfig options 2015-10-26 16:13:48 +01:00
Dominik Richter
69be6acae8 bugfix: fail on missing access to /etc/group 2015-10-26 16:11:28 +01:00
Dominik Richter
95242bf9c2 add content parser tests 2015-10-26 15:50:57 +01:00
Dominik Richter
9d1dcef469 bugfix: remove '/' prefix from folder 2015-10-26 13:06:44 +01:00
Dominik Richter
090281fb0b lint 2015-10-26 12:34:35 +01:00
Dominik Richter
b58a4b3f43 rename vulcanosec -> inspec 2015-10-26 12:34:15 +01:00
Christoph Hartmann
4bcfc76f27 simplify auditd name 2015-10-26 12:15:29 +01:00
Dominik Richter
05eb8df687 lint 2015-10-26 12:09:43 +01:00
Dominik Richter
76f7282e2c add yard header to profile#check 2015-10-26 12:07:03 +01:00
Dominik Richter
83082b2e7b feature: bring back profile check 2015-10-26 11:58:41 +01:00
Dominik Richter
b0bef37b06 support chef audit folder structure 2015-10-26 11:53:09 +01:00
Dominik Richter
9c1f258707 dont fail on missing rule body source 2015-10-26 11:46:43 +01:00
Dominik Richter
9703f3c747 bugfix: provide source code for rules in json 2015-10-26 11:46:43 +01:00
Dominik Richter
80b8b319d9 api: auto-include library files for inspec profile 2015-10-26 11:46:43 +01:00
Dominik Richter
07e3d749be skip empty file content 2015-10-26 11:46:43 +01:00
Dominik Richter
8f0c9c890e bugfix: fix path prefix in folder resolution 2015-10-26 11:46:43 +01:00
Dominik Richter
73b7b3c99a bugfix: point to metadata.rb instead of vmetadata.rb 2015-10-26 11:46:43 +01:00
Dominik Richter
45f7057f30 lint 2015-10-26 04:39:16 +01:00
Dominik Richter
c326e08739 remove old verify code 2015-10-26 00:35:18 +01:00
Dominik Richter
93b4db01ca add rules to profile information 2015-10-26 00:35:18 +01:00
Dominik Richter
a62ce0e14b create json from profile metadata 2015-10-26 00:35:18 +01:00
Christoph Hartmann
24e23f3db4 bugfix: fix regular expression for apt 2015-10-25 22:32:50 +01:00
Christoph Hartmann
b7777d265e improve fail warning. thanks @arlimus 2015-10-25 21:47:27 +01:00
Christoph Hartmann
d75e16546c improvement: file resource check precondition and add file permission check 2015-10-25 21:35:35 +01:00
Christoph Hartmann
98d5a40686 generalize matcher 2015-10-25 21:33:36 +01:00
Christoph Hartmann
3c76ed6e37 integration test for file 2015-10-24 11:15:53 +02:00
Christoph Hartmann
25783ea283 fail with warning, if users use contain matcher 2015-10-24 11:15:53 +02:00
Christoph Hartmann
a407e3b6ce bugfix: parse " with apt urls 2015-10-24 11:15:52 +02:00
Christoph Hartmann
0bbb70302d bugfix: fix kernel_module in combination with CentOS 5 & sudo 2015-10-23 13:57:37 +02:00
Christoph Hartmann
66a2be7f33 improvement: add complete linux support for kernel_module 2015-10-23 13:57:03 +02:00
Christoph Hartmann
4574c07954 improvement: support all linux os for kernel_parameter 2015-10-23 13:30:14 +02:00
Christoph Hartmann
c177a511fa add opensuse support for user resource 2015-10-23 12:14:00 +02:00
Christoph Hartmann
20afebc1a6 improvement: support package for opensuse 2015-10-23 12:14:00 +02:00
Christoph Hartmann
022ec31529 bugfix: rpm does not return exit code if package is not available, work around that 2015-10-23 12:14:00 +02:00
Christoph Hartmann
86bdb9903b bugfix: only return true and false for package installed? 2015-10-23 12:14:00 +02:00
Christoph Hartmann
773bd0e971 improvement: add opensuse support for service resource 2015-10-23 12:14:00 +02:00
Christoph Hartmann
28c497a492 bugfix: support for sudo and service on debian 2015-10-23 12:14:00 +02:00
Christoph Hartmann
807ee03e8b bugfix: fix regular expression to detect services on freebsd 2015-10-23 12:14:00 +02:00
Christoph Hartmann
eca6476ced bugfix: use absolute path for SysV service to work well with sudo on CentOS 5 2015-10-23 12:14:00 +02:00
Christoph Hartmann
836697585b bugfix: Ubuntu 10.04 initctl does not support show-config 2015-10-23 12:14:00 +02:00
Christoph Hartmann
579e465b88 0.8.0 2015-10-21 21:49:07 +02:00
Christoph Hartmann
e3cc942f60 bugfix: always return false instead of nil in case a service could not be determined 2015-10-21 20:54:46 +02:00
Christoph Hartmann
3d2bca2eaf add centos support to service resource 2015-10-21 20:54:46 +02:00
Christoph Hartmann
571de7fc68 fix typos in os skip message 2015-10-21 20:54:46 +02:00
Christoph Hartmann
17279f9ef8 add centos support 2015-10-21 20:54:46 +02:00
Christoph Hartmann
20bbb4c960 add more usage headers 2015-10-21 19:30:01 +02:00
Christoph Hartmann
035e39ee8c simplify yum implementation 2015-10-20 19:57:00 +02:00
Dominik Richter
cea48ceb5a remove leftover comments 2015-10-19 12:07:14 +02:00
Dominik Richter
20dae26925 split methods for processing rules and checks after loading 2015-10-19 09:49:40 +02:00
Dominik Richter
08707eb2d2 temporarily attach the dsl to all example objects
TODO: Remove this!! It is very dangerous to do this here. The goal of this is to make the audit DSL available to all describe blocks. Right now, these blocks are executed outside the scope of this run, thus not gaining ony of the DSL pieces. To circumvent this, the full DSL is attached to the examples
2015-10-18 19:50:12 +02:00
Dominik Richter
d66f874e1c feature: support expect keyword in rules 2015-10-18 19:14:22 +02:00
Dominik Richter
2cebd3fc31 allow loading without file and line info
i.e. dynamic loading only
2015-10-18 19:11:56 +02:00
Dominik Richter
c6cc45c28e bugfix: add rspec core dsl to profile context 2015-10-18 19:11:56 +02:00
Christoph Hartmann
89f003f61b bugfix: add missing uri import 2015-10-17 19:33:52 +02:00
Dominik Richter
c01e1f2c74 lint: make sure variables are defined 2015-10-17 00:03:41 +02:00
Dominik Richter
df07e768d0 lint: replace obsolete URI.regexp 2015-10-17 00:03:37 +02:00
Dominik Richter
9224d5db58 bugfix: support ruby 1.9.3 2015-10-15 23:28:37 +02:00
Dominik Richter
56b88cba1d create factory for backend creation 2015-10-15 22:42:06 +02:00
Dominik Richter
6a51a5be00 remove rake tasks for runner tests
they are now found in train
2015-10-15 14:36:34 +02:00
Dominik Richter
132019a6d9 move backend creation to profile context
keeping it in the runner will create conflicts with rspec runners
2015-10-14 23:44:15 +02:00
Dominik Richter
be614e9056 migrate backend to Train project 2015-10-14 23:13:49 +02:00
Christoph Hartmann
693af465f6 fix lint issue 2015-10-12 13:23:11 +02:00
Christoph Hartmann
03f07e1a3e add to_s methods to resources, fixes #98 2015-10-12 13:01:58 +02:00
Christoph Hartmann
c5924b697c 0.7.0 2015-10-12 12:11:53 +02:00
Christoph Hartmann
f5448e919b remove p 2015-10-12 11:10:32 +02:00
Christoph Hartmann
c1f105bab8 improve iptables resource 2015-10-12 10:34:24 +02:00
Christoph Hartmann
ac4f0de673 simple iptables implementation 2015-10-12 10:34:24 +02:00
Christoph Hartmann
6af966e08b bugfix: return function if data is already cached 2015-10-12 00:18:58 +02:00
Christoph Hartmann
60618723ef fix typo 2015-10-10 23:29:44 +02:00
Christoph Hartmann
abb10db376 add apt implementation 2015-10-10 23:28:03 +02:00
Dominik Richter
28fb05ad97 reduce exposure of context, use backend for os detect
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-10-10 23:15:05 +02:00
Christoph Hartmann
9904e65923 run os detection in proper context 2015-10-10 01:24:39 +02:00
Christoph Hartmann
22c39bdf62 expose profile context 2015-10-10 01:24:39 +02:00
Christoph Hartmann
f4ed4cf7f5 optimize ping on windows 2015-10-09 19:21:12 +02:00
Christoph Hartmann
38ac1ea931 host resource for linux and windows 2015-10-09 19:10:10 +02:00
Christoph Hartmann
6f1181bc27 add windows support for bridge 2015-10-09 15:26:31 +02:00
Christoph Hartmann
90cf62d88e add bridge to available resources 2015-10-09 15:07:03 +02:00
Christoph Hartmann
337cd6aff8 implement bridge for linux 2015-10-09 15:06:10 +02:00
Dominik Richter
6aee38a23c feature: add interactive shell 2015-10-08 23:24:14 +02:00
Christoph Hartmann
9d92abf524 add windows support to network adapter 2015-10-08 13:01:50 +02:00
Christoph Hartmann
153c670952 introduce better network interface abstraction, add test cases 2015-10-08 13:01:50 +02:00
Christoph Hartmann
932b34e8de externalize linux handling in separate provider 2015-10-08 13:01:50 +02:00
Christoph Hartmann
4223d5b1ef implement interface for linux 2015-10-08 13:01:50 +02:00
Dominik Richter
285c83ba06 lint: dont use undefined vars
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-10-08 11:27:18 +02:00
Dominik Richter
4176d1b227 improvement: add default print method to resources 2015-10-08 11:06:20 +02:00
Christoph Hartmann
93df1656b5 simplify os detection 2015-10-07 18:46:24 +02:00
Christoph Hartmann
2499fc72f9 improve etc_group parser, keep parsed data internally instead of raw data 2015-10-07 18:45:08 +02:00
Christoph Hartmann
d2997400df add author information 2015-10-07 18:45:08 +02:00
Christoph Hartmann
94662bed12 improvement: identify groups case insensitive 2015-10-07 18:45:08 +02:00
Christoph Hartmann
b7739a84be implement group resource for windows 2015-10-07 18:45:08 +02:00
Christoph Hartmann
9fb51b44a2 modify etc_group to return complete group info 2015-10-07 18:45:08 +02:00
Christoph Hartmann
537728b41b test case where group or os is not available 2015-10-07 18:45:08 +02:00
Christoph Hartmann
8c5453a4da implement group resource for linux/unix 2015-10-07 18:45:07 +02:00
Christoph Hartmann
e57505739e improvement: return gids in etc_group as integer 2015-10-07 18:45:07 +02:00
Christoph Hartmann
3e9526d992 improvement: run etc_group on unix only 2015-10-07 18:45:07 +02:00
Christoph Hartmann
028e7f977e filter comments in /etc/group 2015-10-07 18:45:07 +02:00
Christoph Hartmann
949496776e move comment parser to utils 2015-10-07 18:45:07 +02:00
Christoph Hartmann
55e09963c8 improvement: expose os detector function in os resource 2015-10-07 18:28:34 +02:00
Christoph Hartmann
bcde1c6dc7 bugfix: fix typo 2015-10-07 18:27:58 +02:00
Christoph Hartmann
2e1c48bbd6 add windows family as helper function 2015-10-07 18:27:44 +02:00
Christoph Hartmann
01f0ae954c support OS detection and helper methods in mock backend 2015-10-07 18:27:17 +02:00
Christoph Hartmann
c85d042f53 remove inherited methods 2015-10-07 13:15:04 +02:00
Christoph Hartmann
9295a60913 add test case for script resource 2015-10-07 13:13:37 +02:00
Christoph Hartmann
05bdb44bf2 switch user resource to use new script resource 2015-10-07 13:05:04 +02:00
Christoph Hartmann
67f6ae5be2 implement run script resource for windows 2015-10-07 13:04:40 +02:00
Christoph Hartmann
8fff2ee989 add author header 2015-10-06 18:55:44 +02:00
Dominik Richter
fa4581489f ignore stderr on file content cat
reduced problems on CSH and others...
2015-10-06 15:49:19 +02:00
Dominik Richter
ba288cc86e bugfix: ensure resource registry is available to backend
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-10-06 14:12:32 +02:00
Dominik Richter
3439a34d16 bugfix: expose path in file resource
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-10-06 14:12:32 +02:00
Dominik Richter
5662bb7383 migrate transport runner tests 2015-10-06 00:06:13 +02:00
Dominik Richter
8005b52921 move backend creation out of runner
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-10-05 23:00:27 +02:00
Dominik Richter
56d8379fc9 move all resources to use the command resource
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-10-05 18:54:47 +02:00
Dominik Richter
76572df292 api: wrap transport and add resources to backend
What is currently available as `vulcano` inside resources (e.g. to call `vulcano.file(...)`, is now wrapped inside `vulcano.backend`. All other resources are now added to `vulcano.<RESOURCE>`, e.g. `vulcano.user`.
2015-10-05 18:48:07 +02:00
Dominik Richter
5912f0d3f1 feature: add resources to backend accessor
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-10-05 17:35:50 +02:00
Christoph Hartmann
f38ce7d5f4 bugfix: fix error, where the winrm default path is not set properly by default 2015-10-05 15:35:02 +02:00
Christoph Hartmann
d82eeb045e bugfix: use account instead of user, otherwise we get a response that falsifies the existence of a user 2015-10-05 14:57:09 +02:00
Christoph Hartmann
c5fa98c8eb bugfix: deal with non-array return values 2015-10-05 14:55:49 +02:00
Dominik Richter
5815dda5d0 api: simplify ssl configuration
* rename `--winrm-ssl` => `--ssl`, to be used by other transports as well
* rename `--winrm-self-signed` => `--self-signed`, to be used by other transports
2015-10-05 12:52:04 +02:00
Dominik Richter
6278e6924d feature: support specinfra+winrms:// backend for quick ssl config
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-10-05 12:52:04 +02:00
Christoph Hartmann
14c5c3f393 lint: remove whitespace 2015-10-05 12:28:28 +02:00
Christoph Hartmann
bb0734f8f3 cache requests 2015-10-05 11:50:49 +02:00
Christoph Hartmann
6b2064ad89 return password expiry information for linux 2015-10-05 11:50:49 +02:00
Christoph Hartmann
5dfb54e389 improve error case handling in user resource 2015-10-05 11:50:49 +02:00
Christoph Hartmann
af8bca193a add support to hash commands in mock backend 2015-10-05 11:50:49 +02:00
Christoph Hartmann
e0b66b1380 bugfix: shell and home detection for freebsd 2015-10-05 11:50:49 +02:00
Christoph Hartmann
cef7f7e785 implement home and shell for user resource on linux and freebsd 2015-10-05 11:50:49 +02:00
Christoph Hartmann
7bf78059d8 remove dub functions from passwd 2015-10-05 11:50:49 +02:00
Christoph Hartmann
57676d88a1 externalize passwd parser 2015-10-05 11:42:20 +02:00
Christoph Hartmann
535fc10b5d rewrite passwd resource to extract parser 2015-10-05 11:42:20 +02:00
Christoph Hartmann
3ff4a5d769 improve verification that a user exists 2015-10-05 11:42:20 +02:00
Christoph Hartmann
70a57de90c windows support for user resource 2015-10-05 11:42:20 +02:00
Christoph Hartmann
77f48cfcf3 move line-split to simple config 2015-10-05 11:42:20 +02:00
Christoph Hartmann
ceadaaca4a add basic support for freebsd 2015-10-05 11:42:19 +02:00
Christoph Hartmann
4c43c88778 implement basic user resource for linux and mac 2015-10-05 11:42:19 +02:00
Dominik Richter
938d13a7dc switch from open4 -> mixlib-shellout 2015-10-04 23:24:17 +02:00
Dominik Richter
fede3fb9fd use target path in configuring specinfra winrm
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-10-03 23:56:46 +02:00
Dominik Richter
369e61d0cd feature: add path to target specification
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-10-03 23:39:09 +02:00
Christoph Hartmann
b40ab55710 fix: rubucop lint 2015-10-03 14:02:34 +02:00
Christoph Hartmann
0a7dfce1e6 add author 2015-10-03 13:27:20 +02:00
Christoph Hartmann
47e0b38a10 bugfix: catch case where we retrieve an arrray 2015-10-03 13:27:20 +02:00
Christoph Hartmann
f387dbbb9e improvement: skip oneget if it is not running on windows 2015-10-03 13:27:20 +02:00
Dominik Richter
7d27b62794 simplify key assignment in conf 2015-10-02 22:41:25 +02:00
Dominik Richter
5825b4d6d4 rename --key-file to --key on cli
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-10-02 22:21:35 +02:00
Delivery Server
92b82a3cbf Merged change 24637cb4-1d10-4e45-b683-27d9e1ca9a4f
From review branch _reviews/master/bugfix-gem/3 into master

Signed-off-by: drichter <drichter@chef.io>
2015-10-02 15:37:59 +00:00
Christoph Hartmann
1eed6bcf11 use separate method to determine the pip command 2015-10-01 23:29:31 +02:00
Christoph Hartmann
54603e9545 optimize pip resource for windows 2015-10-01 23:26:56 +02:00
Christoph Hartmann
2a5736b8f9 bugfix: fix gem to string 2015-10-01 23:25:46 +02:00
Dominik Richter
ae10fefd15 fix warnings 2015-10-01 16:43:36 +02:00
Dominik Richter
12888c8dad bugfix: centos detection in docker centos:7.1.1503
It doesnt post the expected information in /etc/redhat-release:

    Derived from Red Hat Enterprise Linux 7.1 (Source)

Additionally in /etc/os-release:

    NAME="CentOS Linux"
	  VERSION="7 (Core)"
	  ...

Combine both files to fix the detection.
2015-09-30 13:44:24 +02:00
Dominik Richter
aa4593ff71 replace parseconfig with simpleconfig
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-30 12:19:55 +02:00
Dominik Richter
8b97bdbaa7 expose simpleconfig groups
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-30 12:18:09 +02:00
Dominik Richter
2d8b63cb22 feature: support simple config groups
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-30 12:00:38 +02:00
Dominik Richter
90de8763cf wrap up linting
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-30 02:20:47 +02:00
Dominik Richter
dd46027195 bugfix: require yaml in resource
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-30 01:48:59 +02:00
Dominik Richter
212f11243b simplify and fix stat handling
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-30 01:42:04 +02:00
Dominik Richter
28b3792325 let specinfra backend os support OSCommon methods
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-29 19:34:43 +02:00
Dominik Richter
3508201a5d split out unix stat
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-29 19:18:48 +02:00
Dominik Richter
15d5cc7ca0 split up specinfra backend helper
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-29 15:27:58 +02:00
Dominik Richter
1e0405bf74 allow for empty config in target_config
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-28 13:03:05 +02:00
Dominik Richter
78d98388f8 add amazon scientific and xenserver to redhat distros in detection
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-28 12:46:46 +02:00
Dominik Richter
4e15e425a4 move darwin to bsd type
see: https://en.wikipedia.org/wiki/Darwin_%28operating_system%29#/media/File:Unix_timeline.en.svg
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-28 12:14:40 +02:00
Dominik Richter
4f0c0d7f21 add unit tests to os common detection
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-28 11:52:50 +02:00
Dominik Richter
c77a0a1c81 api: make mock backend quiet by default
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-28 11:27:19 +02:00
Dominik Richter
7019b1f659 generalize and simplify os detect methods
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-28 11:15:41 +02:00
Dominik Richter
2eb94f5e2e be more explicit about detecting unix
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-28 11:06:38 +02:00
Dominik Richter
bc98b3330f feature: add helpers for OS families
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-28 11:06:38 +02:00
Dominik Richter
093600b85f split up os detection for linting
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-26 13:12:52 +02:00
Dominik Richter
d839cbc8f7 lint the profile context
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-26 12:41:13 +02:00
Dominik Richter
1efb61ab80 lint service
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-26 12:25:02 +02:00
Dominik Richter
d28c5a85fe lint mysql
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-26 12:25:02 +02:00
Dominik Richter
9885e7683b lint port resource
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-26 12:25:02 +02:00
Christoph Hartmann
94ac889ff2 fix robocop lint issues 2015-09-25 19:46:46 +02:00
Christoph Hartmann
7cea90ef3a fix lint issues 2015-09-25 19:34:25 +02:00
Dominik Richter
3fe0c90733 overhaul rule structure
* rename VulcanoBaseRule -> Vulcano::Rule
* initialize rule inside the ProfileContext
* attach all resources to ProfileContext and all rules created within
* rename rule.rb -> dsl.rb, now only containing DSL information
* rename base_rule.rb -> rule.rb, now containing everything for rule

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-25 19:16:32 +02:00
Christoph Hartmann
ec7a743f21 Merge pull request #51 from chef/ssh-transport
Verify ssh transport backend
2015-09-25 15:06:00 +02:00
Dominik Richter
6d7a46a589 bugfix: do not allocate pty on ssh by default
PTY will effectively disable stderr output, so avoid it for now.

It will come up very soon when we get back to sudo; see if fifo or other solutions might be used. Stderr is important for accurate command execution...

For reference see this wonderful explanation:

http://unix.stackexchange.com/a/134169
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-25 13:25:57 +02:00
Christoph Hartmann
ea75b361a7 bugfix: systemd is default on debian 8 2015-09-25 12:58:17 +02:00
Christoph Hartmann
007d292890 rewrite systemv service implementation, read enabled services from rc 2015-09-25 12:58:03 +02:00
Christoph Hartmann
11ffdeddad improvement: return nil, if no description for service is available 2015-09-25 12:54:08 +02:00
Christoph Hartmann
9ac2e6e00b improvement: use onestatus instead of status for freebsd, return nil as service description for freebsd 2015-09-25 12:51:25 +02:00
Christoph Hartmann
d5d517af0a improve service handling for mac and add unit tests 2015-09-25 12:51:12 +02:00
Christoph Hartmann
36ad0dd5a0 add arch linux support for service resource 2015-09-25 12:48:57 +02:00
Christoph Hartmann
f302ca7087 bugfix: fix regular expression to parse systemd results 2015-09-25 12:48:38 +02:00
Christoph Hartmann
cb3d170ce6 add centos 7 unit mock for service resource 2015-09-25 12:48:21 +02:00
Dominik Richter
c3d226e4a2 add os detection to ssh backend
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-25 12:37:37 +02:00
Dominik Richter
8fe3b8ad4d add ssh configuration options
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-25 12:37:35 +02:00
Christoph Hartmann
2a3c3270b3 bugfix: use volcano.os instead of os 2015-09-25 11:52:33 +02:00
Christoph Hartmann
3e16791f52 bugfix: catch case in service resource, where the OS is not supported 2015-09-25 11:52:33 +02:00
Dominik Richter
a051224462 improvement: be explicit on specinfra file content handling
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-25 09:55:48 +02:00
Dominik Richter
773548551d bugfix: specinfra file handling on bsd over ssh
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-25 01:16:39 +02:00
Dominik Richter
5ed71ef444 bugfix: error handling on file backend in specinfra 2015-09-24 22:46:02 +02:00
Dominik Richter
1e5fc59fa8 bugfix: handle selinux label (null)
Return nil instead of (null), as it is a special output of stat.
2015-09-24 10:36:21 +02:00
Dominik Richter
7a6675394c bugfix: linux file dont return selinux label ?
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-24 10:36:21 +02:00
Dominik Richter
3ed1c29039 bugfix: linux file content for folder/missing
Dont return empty strings when reading a directory or if the path doesnt exist. Instead return nil.

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-24 10:36:21 +02:00
Christoph Hartmann
5151f42d7d add package unit test for unsupported os 2015-09-23 23:30:31 +02:00
Christoph Hartmann
af0591ab70 fix lint 2015-09-23 23:30:31 +02:00
Christoph Hartmann
a9c96dfbab fix: resolve unit test errors for arch and centos 2015-09-23 23:30:31 +02:00
Christoph Hartmann
968ed7a576 add todos for windows 2015-09-23 23:15:40 +02:00
Christoph Hartmann
476ac63036 return more detailed protocol information: tcp, udp, tcp6, udp6 2015-09-23 23:15:40 +02:00
Christoph Hartmann
563785d8a6 return arrays, since a port may run on multiple interfaces 2015-09-23 23:15:40 +02:00
Christoph Hartmann
a7b0520289 simplify check if port is available 2015-09-23 23:15:40 +02:00
Dominik Richter
a3e5984763 simplify a few calls
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-23 23:15:40 +02:00
Christoph Hartmann
d889f0b0b1 port resource support for FreeBSD 2015-09-23 23:08:54 +02:00
Christoph Hartmann
b47ec509fd port resource support for Windows 2015-09-23 23:08:19 +02:00