Commit graph

668 commits

Author SHA1 Message Date
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