inspec 1.40.0 → 1.41.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +30 -9
- data/docs/matchers.md +18 -0
- data/docs/plugin_kitchen_inspec.md +18 -24
- data/docs/profiles.md +39 -2
- data/docs/resources/aide_conf.md.erb +18 -28
- data/docs/resources/apache_conf.md.erb +19 -33
- data/docs/resources/apt.md.erb +22 -36
- data/docs/resources/audit_policy.md.erb +9 -24
- data/docs/resources/auditd.md.erb +9 -24
- data/docs/resources/auditd_conf.md.erb +20 -34
- data/docs/resources/auditd_rules.md.erb +8 -24
- data/docs/resources/bash.md.erb +4 -26
- data/docs/resources/bond.md.erb +25 -40
- data/docs/resources/bridge.md.erb +5 -25
- data/docs/resources/bsd_service.md.erb +5 -25
- data/docs/resources/command.md.erb +35 -50
- data/docs/resources/crontab.md.erb +9 -23
- data/docs/resources/csv.md.erb +12 -27
- data/docs/resources/dh_params.md +1 -0
- data/docs/resources/directory.md.erb +5 -25
- data/docs/resources/docker.md.erb +60 -57
- data/docs/resources/docker_container.md.erb +23 -19
- data/docs/resources/docker_image.md.erb +20 -16
- data/docs/resources/etc_fstab.md.erb +5 -2
- data/docs/resources/etc_group.md.erb +29 -45
- data/docs/resources/etc_hosts.md.erb +6 -0
- data/docs/resources/etc_hosts_allow.md.erb +6 -2
- data/docs/resources/etc_hosts_deny.md.erb +6 -2
- data/docs/resources/file.md.erb +198 -212
- data/docs/resources/firewalld.md.erb +7 -1
- data/docs/resources/gem.md.erb +21 -35
- data/docs/resources/group.md.erb +16 -30
- data/docs/resources/grub_conf.md.erb +9 -24
- data/docs/resources/host.md.erb +32 -49
- data/docs/resources/http.md.erb +38 -44
- data/docs/resources/iis_app.md.erb +25 -35
- data/docs/resources/iis_site.md.erb +26 -40
- data/docs/resources/inetd_conf.md.erb +27 -42
- data/docs/resources/ini.md.erb +9 -23
- data/docs/resources/interface.md.erb +5 -25
- data/docs/resources/iptables.md.erb +15 -29
- data/docs/resources/json.md.erb +12 -27
- data/docs/resources/kernel_module.md.erb +47 -61
- data/docs/resources/kernel_parameter.md.erb +15 -29
- data/docs/resources/key_rsa.md.erb +3 -0
- data/docs/resources/launchd_service.md.erb +5 -25
- data/docs/resources/limits_conf.md.erb +15 -29
- data/docs/resources/login_def.md.erb +15 -30
- data/docs/resources/mount.md.erb +18 -33
- data/docs/resources/mssql_session.md.erb +9 -12
- data/docs/resources/mysql_conf.md.erb +17 -32
- data/docs/resources/mysql_session.md.erb +15 -29
- data/docs/resources/nginx.md.erb +6 -0
- data/docs/resources/nginx_conf.md.erb +25 -20
- data/docs/resources/npm.md.erb +19 -35
- data/docs/resources/ntp_conf.md.erb +20 -37
- data/docs/resources/oneget.md.erb +15 -30
- data/docs/resources/oracledb_session.md.erb +9 -11
- data/docs/resources/os.md.erb +29 -43
- data/docs/resources/os_env.md.erb +29 -44
- data/docs/resources/package.md.erb +33 -42
- data/docs/resources/parse_config.md.erb +5 -25
- data/docs/resources/parse_config_file.md.erb +31 -43
- data/docs/resources/passwd.md.erb +24 -39
- data/docs/resources/pip.md.erb +20 -35
- data/docs/resources/port.md.erb +43 -57
- data/docs/resources/postgres_conf.md.erb +17 -31
- data/docs/resources/postgres_hba_conf.md.erb +26 -38
- data/docs/resources/postgres_ident_conf.md.erb +25 -37
- data/docs/resources/postgres_session.md.erb +15 -29
- data/docs/resources/powershell.md.erb +27 -42
- data/docs/resources/processes.md.erb +17 -33
- data/docs/resources/rabbitmq_config.md.erb +9 -24
- data/docs/resources/registry_key.md.erb +27 -42
- data/docs/resources/runit_service.md.erb +5 -25
- data/docs/resources/security_policy.md.erb +12 -27
- data/docs/resources/service.md.erb +27 -42
- data/docs/resources/shadow.md.erb +20 -35
- data/docs/resources/ssh_config.md.erb +19 -34
- data/docs/resources/sshd_config.md.erb +19 -34
- data/docs/resources/ssl.md.erb +39 -54
- data/docs/resources/sys_info.md.erb +12 -26
- data/docs/resources/systemd_service.md.erb +5 -25
- data/docs/resources/sysv_service.md.erb +5 -25
- data/docs/resources/upstart_service.md.erb +5 -25
- data/docs/resources/user.md.erb +29 -44
- data/docs/resources/users.md.erb +12 -26
- data/docs/resources/vbscript.md.erb +9 -24
- data/docs/resources/virtualization.md.erb +8 -23
- data/docs/resources/windows_feature.md.erb +15 -30
- data/docs/resources/windows_hotfix.md.erb +15 -9
- data/docs/resources/windows_task.md.erb +12 -26
- data/docs/resources/wmi.md.erb +9 -24
- data/docs/resources/x509_certificate.md.erb +4 -0
- data/docs/resources/xinetd_conf.md.erb +65 -80
- data/docs/resources/xml.md.erb +12 -26
- data/docs/resources/yaml.md.erb +12 -27
- data/docs/resources/yum.md.erb +37 -51
- data/docs/resources/zfs_dataset.md.erb +15 -26
- data/docs/resources/zfs_pool.md.erb +9 -20
- data/lib/inspec/backend.rb +8 -0
- data/lib/inspec/profile.rb +9 -1
- data/lib/inspec/shell.rb +13 -13
- data/lib/inspec/version.rb +1 -1
- data/lib/matchers/matchers.rb +2 -0
- data/lib/resources/etc_hosts.rb +1 -1
- data/lib/resources/host.rb +4 -1
- data/lib/resources/http.rb +173 -23
- data/lib/resources/processes.rb +106 -20
- data/lib/resources/ssh_conf.rb +1 -1
- data/lib/resources/ssl.rb +4 -3
- data/lib/utils/object_traversal.rb +35 -10
- metadata +2 -2
@@ -4,9 +4,11 @@ title: About the windows_task Resource
|
|
4
4
|
|
5
5
|
# windows_task
|
6
6
|
|
7
|
-
Use the `windows_task` Inspec audit resource to test a scheduled tasks configuration on a Windows platform.
|
7
|
+
Use the `windows_task` Inspec audit resource to test a scheduled tasks configuration on a Windows platform.
|
8
8
|
Microsoft and application vendors use scheduled tasks to perform a variety of system maintaince tasks but system administrators can schedule their own.
|
9
9
|
|
10
|
+
<br>
|
11
|
+
|
10
12
|
## Syntax
|
11
13
|
|
12
14
|
A `windows_task` resource block declares the name of the task (as its full path) and tests its configuration:
|
@@ -18,33 +20,11 @@ A `windows_task` resource block declares the name of the task (as its full path)
|
|
18
20
|
|
19
21
|
where
|
20
22
|
|
21
|
-
* `'parameter'` must be a valid parameter defined within this resource ie `logon_mode`, `last_result`, `task_to_run`, `run_as_user`
|
23
|
+
* `'parameter'` must be a valid parameter defined within this resource ie `logon_mode`, `last_result`, `task_to_run`, `run_as_user`
|
22
24
|
* `'value'` will be used to compare the value gather from your chosen parameter
|
23
|
-
* `'be_enabled'` is an example of a valid matcher that checks the state of a task, other examples are `exist` or `be_disabled`
|
24
|
-
|
25
|
-
## Matchers
|
26
|
-
|
27
|
-
This InSpec audit resource has the following matchers:
|
28
|
-
|
29
|
-
### be
|
30
|
-
|
31
|
-
<%= partial "/shared/matcher_be" %>
|
32
|
-
|
33
|
-
### cmp
|
34
|
-
|
35
|
-
<%= partial "/shared/matcher_cmp" %>
|
36
|
-
|
37
|
-
### eq
|
25
|
+
* `'be_enabled'` is an example of a valid matcher that checks the state of a task, other examples are `exist` or `be_disabled`
|
38
26
|
|
39
|
-
|
40
|
-
|
41
|
-
### include
|
42
|
-
|
43
|
-
<%= partial "/shared/matcher_include" %>
|
44
|
-
|
45
|
-
### match
|
46
|
-
|
47
|
-
<%= partial "/shared/matcher_match" %>
|
27
|
+
<br>
|
48
28
|
|
49
29
|
## Examples
|
50
30
|
|
@@ -101,3 +81,9 @@ Status: Ready
|
|
101
81
|
Logon Mode: Interactive/Background
|
102
82
|
...
|
103
83
|
```
|
84
|
+
|
85
|
+
<br>
|
86
|
+
|
87
|
+
## Matchers
|
88
|
+
|
89
|
+
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
data/docs/resources/wmi.md.erb
CHANGED
@@ -6,6 +6,8 @@ title: About the wmi Resource
|
|
6
6
|
|
7
7
|
Use the `wmi` InSpec audit resource to test WMI settings on the Windows platform.
|
8
8
|
|
9
|
+
<br>
|
10
|
+
|
9
11
|
## Syntax
|
10
12
|
|
11
13
|
A `wmi` resource block tests WMI settings on the Windows platform:
|
@@ -46,30 +48,7 @@ and the second uses a filter in the Ruby Hash to first identify WinRM, and then
|
|
46
48
|
its('DisplayName') { should eq 'Windows Remote Management (WS-Management)'}
|
47
49
|
end
|
48
50
|
|
49
|
-
|
50
|
-
## Matchers
|
51
|
-
|
52
|
-
This InSpec audit resource has the following matchers:
|
53
|
-
|
54
|
-
### be
|
55
|
-
|
56
|
-
<%= partial "/shared/matcher_be" %>
|
57
|
-
|
58
|
-
### cmp
|
59
|
-
|
60
|
-
<%= partial "/shared/matcher_cmp" %>
|
61
|
-
|
62
|
-
### eq
|
63
|
-
|
64
|
-
<%= partial "/shared/matcher_eq" %>
|
65
|
-
|
66
|
-
### include
|
67
|
-
|
68
|
-
<%= partial "/shared/matcher_include" %>
|
69
|
-
|
70
|
-
### match
|
71
|
-
|
72
|
-
<%= partial "/shared/matcher_match" %>
|
51
|
+
<br>
|
73
52
|
|
74
53
|
## Examples
|
75
54
|
|
@@ -93,3 +72,9 @@ The following examples show how to use this InSpec audit resource.
|
|
93
72
|
}) do
|
94
73
|
its('Setting') { should eq false }
|
95
74
|
end
|
75
|
+
|
76
|
+
<br>
|
77
|
+
|
78
|
+
## Matchers
|
79
|
+
|
80
|
+
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
@@ -12,6 +12,8 @@ or communications over a network. They may also be used for authentication.
|
|
12
12
|
Examples include SSL certificates, S/MIME certificates and VPN authentication
|
13
13
|
certificates.
|
14
14
|
|
15
|
+
<br>
|
16
|
+
|
15
17
|
## Syntax
|
16
18
|
|
17
19
|
An `x509_certificate` resource block declares a certificate `key file` to be tested.
|
@@ -20,6 +22,8 @@ An `x509_certificate` resource block declares a certificate `key file` to be tes
|
|
20
22
|
its('validity_in_days') { should be > 30 }
|
21
23
|
end
|
22
24
|
|
25
|
+
<br>
|
26
|
+
|
23
27
|
## Supported Properties
|
24
28
|
|
25
29
|
### subject.XX
|
@@ -6,6 +6,8 @@ title: About the xinetd_conf Resource
|
|
6
6
|
|
7
7
|
Use the `xinetd_conf` InSpec audit resource to test services under `/etc/xinet.d` on Linux and Unix platforms. xinetd---the extended Internet service daemon---listens on all ports, and then loads the appropriate program based on a request. The `xinetd.conf` file is typically located at `/etc/xinetd.conf` and contains a list of Internet services associated to the ports on which that service will listen. Only enabled services may handle a request; only services that are required by the system should be enabled.
|
8
8
|
|
9
|
+
<br>
|
10
|
+
|
9
11
|
## Syntax
|
10
12
|
|
11
13
|
An `xinetd_conf` resource block declares settings found in a `xinetd.conf` file for the named service:
|
@@ -21,28 +23,80 @@ where
|
|
21
23
|
* `('setting')` is a setting in the `xinetd.conf` file
|
22
24
|
* `should eq 'value'` is the value that is expected
|
23
25
|
|
26
|
+
<br>
|
24
27
|
|
25
|
-
##
|
28
|
+
## Examples
|
26
29
|
|
27
|
-
|
30
|
+
The following examples show how to use this InSpec audit resource.
|
28
31
|
|
29
|
-
###
|
32
|
+
### Test a socket_type
|
30
33
|
|
31
|
-
|
34
|
+
The network socket type: `dgram` (a datagram-based service), `raw` (a service that requires direct access to an IP address), `stream` (a stream-based service), or `seqpacket` (a service that requires a sequenced packet).
|
32
35
|
|
33
|
-
|
36
|
+
describe xinetd_conf.services('service_name') do
|
37
|
+
its('socket_types') { should include 'dgram' }
|
38
|
+
end
|
34
39
|
|
35
|
-
|
40
|
+
### Test a service type
|
36
41
|
|
37
|
-
|
42
|
+
The type of service: `INTERNAL` (a service provided by xinetd), `RPC` (an RPC-based service), `TCPMUX` (a service that is started on a well-known TPCMUX port), or `UNLISTED` (a service that is not listed in a standard system file location).
|
38
43
|
|
39
|
-
|
44
|
+
describe xinetd_conf.services('service_name') do
|
45
|
+
its('type') { should include 'RPC' }
|
46
|
+
end
|
40
47
|
|
41
|
-
|
48
|
+
### Test the telnet service
|
49
|
+
|
50
|
+
For example, a `telnet` file under `/etc/xinet.d` contains the following settings:
|
51
|
+
|
52
|
+
service telnet
|
53
|
+
{
|
54
|
+
disable = yes
|
55
|
+
flags = REUSE
|
56
|
+
socket_type = stream
|
57
|
+
wait = no
|
58
|
+
user = root
|
59
|
+
server = /usr/sbin/in.telnetd
|
60
|
+
log_on_failure += USERID
|
61
|
+
}
|
42
62
|
|
43
|
-
|
63
|
+
Some examples of tests that can be run against that file include:
|
44
64
|
|
45
|
-
|
65
|
+
describe xinetd_conf.services('telnet') do
|
66
|
+
it { should be_disabled }
|
67
|
+
end
|
68
|
+
|
69
|
+
and
|
70
|
+
|
71
|
+
describe xinetd_conf.services('telnet') do
|
72
|
+
its('socket_type') { should include 'stream' }
|
73
|
+
end
|
74
|
+
|
75
|
+
and
|
76
|
+
|
77
|
+
describe xinetd_conf.services('telnet') do
|
78
|
+
its('wait') { should eq 'no' }
|
79
|
+
end
|
80
|
+
|
81
|
+
All three settings can be tested in the same block as well:
|
82
|
+
|
83
|
+
describe xinetd_conf.services('telnet') do
|
84
|
+
it { should be_disabled }
|
85
|
+
its('socket_type') { should include 'stream' }
|
86
|
+
its('wait') { should eq 'no' }
|
87
|
+
end
|
88
|
+
|
89
|
+
<br>
|
90
|
+
|
91
|
+
## Matchers
|
92
|
+
|
93
|
+
This InSpec audit resource has the following matchers. For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
94
|
+
|
95
|
+
### be_enabed
|
96
|
+
|
97
|
+
The `be_enabled` matcher tests if a service listed under `/etc/xinet.d` is enabled:
|
98
|
+
|
99
|
+
it { should be_enabled }
|
46
100
|
|
47
101
|
### ids
|
48
102
|
|
@@ -54,14 +108,6 @@ For example:
|
|
54
108
|
|
55
109
|
its('ids') { should include 'chargen-stream chargen-dgram'}
|
56
110
|
|
57
|
-
### include
|
58
|
-
|
59
|
-
<%= partial "/shared/matcher_include" %>
|
60
|
-
|
61
|
-
### match
|
62
|
-
|
63
|
-
<%= partial "/shared/matcher_match" %>
|
64
|
-
|
65
111
|
### services
|
66
112
|
|
67
113
|
The `services` matcher tests if the named service is listed under `/etc/xinet.d`:
|
@@ -107,64 +153,3 @@ For TCP (`stream`) socket types the `wait` matcher should test for `no`:
|
|
107
153
|
|
108
154
|
its('socket_types') { should eq 'stream' }
|
109
155
|
its('wait') { should eq 'no' }
|
110
|
-
|
111
|
-
## Examples
|
112
|
-
|
113
|
-
The following examples show how to use this InSpec audit resource.
|
114
|
-
|
115
|
-
### Test a socket_type
|
116
|
-
|
117
|
-
The network socket type: `dgram` (a datagram-based service), `raw` (a service that requires direct access to an IP address), `stream` (a stream-based service), or `seqpacket` (a service that requires a sequenced packet).
|
118
|
-
|
119
|
-
describe xinetd_conf.services('service_name') do
|
120
|
-
its('socket_types') { should include 'dgram' }
|
121
|
-
end
|
122
|
-
|
123
|
-
### Test a service type
|
124
|
-
|
125
|
-
The type of service: `INTERNAL` (a service provided by xinetd), `RPC` (an RPC-based service), `TCPMUX` (a service that is started on a well-known TPCMUX port), or `UNLISTED` (a service that is not listed in a standard system file location).
|
126
|
-
|
127
|
-
describe xinetd_conf.services('service_name') do
|
128
|
-
its('type') { should include 'RPC' }
|
129
|
-
end
|
130
|
-
|
131
|
-
### Test the telnet service
|
132
|
-
|
133
|
-
For example, a `telnet` file under `/etc/xinet.d` contains the following settings:
|
134
|
-
|
135
|
-
service telnet
|
136
|
-
{
|
137
|
-
disable = yes
|
138
|
-
flags = REUSE
|
139
|
-
socket_type = stream
|
140
|
-
wait = no
|
141
|
-
user = root
|
142
|
-
server = /usr/sbin/in.telnetd
|
143
|
-
log_on_failure += USERID
|
144
|
-
}
|
145
|
-
|
146
|
-
Some examples of tests that can be run against that file include:
|
147
|
-
|
148
|
-
describe xinetd_conf.services('telnet') do
|
149
|
-
it { should be_disabled }
|
150
|
-
end
|
151
|
-
|
152
|
-
and
|
153
|
-
|
154
|
-
describe xinetd_conf.services('telnet') do
|
155
|
-
its('socket_type') { should include 'stream' }
|
156
|
-
end
|
157
|
-
|
158
|
-
and
|
159
|
-
|
160
|
-
describe xinetd_conf.services('telnet') do
|
161
|
-
its('wait') { should eq 'no' }
|
162
|
-
end
|
163
|
-
|
164
|
-
All three settings can be tested in the same block as well:
|
165
|
-
|
166
|
-
describe xinetd_conf.services('telnet') do
|
167
|
-
it { should be_disabled }
|
168
|
-
its('socket_type') { should include 'stream' }
|
169
|
-
its('wait') { should eq 'no' }
|
170
|
-
end
|
data/docs/resources/xml.md.erb
CHANGED
@@ -6,6 +6,8 @@ title: About the xml Resource
|
|
6
6
|
|
7
7
|
Use the `xml` InSpec audit resource to test data in an XML file.
|
8
8
|
|
9
|
+
<br>
|
10
|
+
|
9
11
|
## Syntax
|
10
12
|
|
11
13
|
An `xml` resource block declares the data to be tested. Assume the following XML file:
|
@@ -34,42 +36,26 @@ where
|
|
34
36
|
* `root/name` is an XPath expression
|
35
37
|
* `should eq ['foo']` tests a value of `root/name` as read from an XML file versus the value declared in the test
|
36
38
|
|
37
|
-
|
38
|
-
|
39
|
-
This InSpec audit resource has the following matchers:
|
40
|
-
|
41
|
-
### be
|
42
|
-
|
43
|
-
<%= partial "/shared/matcher_be" %>
|
44
|
-
|
45
|
-
### cmp
|
39
|
+
<br>
|
46
40
|
|
47
|
-
|
41
|
+
## Examples
|
48
42
|
|
49
|
-
|
43
|
+
The following examples show how to use this InSpec audit resource.
|
50
44
|
|
51
|
-
|
45
|
+
### Test an AppPool's presence in an applicationHost.config file
|
52
46
|
|
53
|
-
|
47
|
+
describe xml('applicationHost.config') do
|
48
|
+
its('configuration/system.applicationHost/applicationPools/add@name') { should contain('my_pool') }
|
49
|
+
end
|
54
50
|
|
55
|
-
|
51
|
+
<br>
|
56
52
|
|
57
|
-
|
53
|
+
## Matchers
|
58
54
|
|
59
|
-
|
55
|
+
This InSpec audit resource has the following matchers. For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
60
56
|
|
61
57
|
### name
|
62
58
|
|
63
59
|
The `name` matcher tests the value of `name` as read from a JSON file versus the value declared in the test:
|
64
60
|
|
65
61
|
its('name') { should eq 'foo' }
|
66
|
-
|
67
|
-
## Examples
|
68
|
-
|
69
|
-
The following examples show how to use this InSpec audit resource.
|
70
|
-
|
71
|
-
### Test an AppPool's presence in an applicationHost.config file
|
72
|
-
|
73
|
-
describe xml('applicationHost.config') do
|
74
|
-
its('configuration/system.applicationHost/applicationPools/add@name') { should contain('my_pool') }
|
75
|
-
end
|
data/docs/resources/yaml.md.erb
CHANGED
@@ -6,6 +6,8 @@ title: About the yaml Resource
|
|
6
6
|
|
7
7
|
Use the `yaml` InSpec audit resource to test configuration data in a Yaml file.
|
8
8
|
|
9
|
+
<br>
|
10
|
+
|
9
11
|
## Syntax
|
10
12
|
|
11
13
|
A `yaml` resource block declares the configuration data to be tested. Assume the following Yaml file:
|
@@ -41,43 +43,26 @@ Like the `json` resource, the `yaml` resource can read a file, run a command, or
|
|
41
43
|
its('key2') { should cmp 'value2' }
|
42
44
|
end
|
43
45
|
|
46
|
+
<br>
|
44
47
|
|
45
|
-
##
|
46
|
-
|
47
|
-
This InSpec audit resource has the following matchers:
|
48
|
-
|
49
|
-
### be
|
50
|
-
|
51
|
-
<%= partial "/shared/matcher_be" %>
|
52
|
-
|
53
|
-
### cmp
|
54
|
-
|
55
|
-
<%= partial "/shared/matcher_cmp" %>
|
48
|
+
## Examples
|
56
49
|
|
57
|
-
|
50
|
+
The following examples show how to use this InSpec audit resource.
|
58
51
|
|
59
|
-
|
52
|
+
### Test a kitchen.yml file driver
|
60
53
|
|
61
|
-
|
54
|
+
describe yaml('.kitchen.yaml') do
|
55
|
+
its('driver.name') { should eq('vagrant') }
|
56
|
+
end
|
62
57
|
|
63
|
-
|
58
|
+
<br>
|
64
59
|
|
65
|
-
|
60
|
+
## Matchers
|
66
61
|
|
67
|
-
|
62
|
+
This InSpec audit resource has the following matchers. For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
68
63
|
|
69
64
|
### name
|
70
65
|
|
71
66
|
The `name` matcher tests the value of `name` as read from a Yaml file versus the value declared in the test:
|
72
67
|
|
73
68
|
its('name') { should eq 'foo' }
|
74
|
-
|
75
|
-
## Examples
|
76
|
-
|
77
|
-
The following examples show how to use this InSpec audit resource.
|
78
|
-
|
79
|
-
### Test a kitchen.yml file driver
|
80
|
-
|
81
|
-
describe yaml('.kitchen.yaml') do
|
82
|
-
its('driver.name') { should eq('vagrant') }
|
83
|
-
end
|
data/docs/resources/yum.md.erb
CHANGED
@@ -6,6 +6,8 @@ title: About the yum Resource
|
|
6
6
|
|
7
7
|
Use the `yum` InSpec audit resource to test packages in the Yum repository.
|
8
8
|
|
9
|
+
<br>
|
10
|
+
|
9
11
|
## Syntax
|
10
12
|
|
11
13
|
A `yum` resource block declares a package repo, tests if the package repository is present, and if it that package repository is a valid package source (i.e. "is enabled"):
|
@@ -19,41 +21,58 @@ where
|
|
19
21
|
|
20
22
|
* `repo('name')` is the (optional) name of a package repo, using either a full identifier (`'updates/7/x86_64'`) or a short identifier (`'updates'`)
|
21
23
|
|
22
|
-
|
24
|
+
<br>
|
23
25
|
|
24
|
-
|
26
|
+
## Examples
|
25
27
|
|
26
|
-
|
28
|
+
The following examples show how to use this InSpec audit resource.
|
27
29
|
|
28
|
-
|
30
|
+
### Test if the yum repo exists
|
29
31
|
|
30
|
-
|
32
|
+
describe yum do
|
33
|
+
its('repos') { should exist }
|
34
|
+
end
|
31
35
|
|
32
|
-
|
36
|
+
### Test if the 'base/7/x86_64' repo exists and is enabled
|
33
37
|
|
34
|
-
|
38
|
+
describe yum do
|
39
|
+
its('repos') { should include 'base/7/x86_64' }
|
40
|
+
its('epel') { should exist }
|
41
|
+
its('epel') { should be_enabled }
|
42
|
+
end
|
35
43
|
|
36
|
-
###
|
44
|
+
### Test if a specific yum repo exists
|
37
45
|
|
38
|
-
|
46
|
+
describe yum.repo('epel') do
|
47
|
+
it { should exist }
|
48
|
+
it { should be_enabled }
|
49
|
+
end
|
39
50
|
|
40
|
-
###
|
51
|
+
### Test a particular repository configuration, such as its Base URL
|
41
52
|
|
42
|
-
|
53
|
+
describe yum.repo('mycompany-artifacts') do
|
54
|
+
it { should exist }
|
55
|
+
it { should be_enabled }
|
56
|
+
its('baseurl') { should include 'mycompany.biz' }
|
57
|
+
end
|
43
58
|
|
44
|
-
|
59
|
+
<br>
|
45
60
|
|
46
|
-
|
61
|
+
## Matchers
|
47
62
|
|
48
|
-
|
63
|
+
This InSpec audit resource has the following matchers. For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
49
64
|
|
50
|
-
###
|
65
|
+
### be_enabled
|
51
66
|
|
52
|
-
|
67
|
+
The `be_enabled` matcher tests if the package repository is a valid package source:
|
53
68
|
|
54
|
-
|
69
|
+
it { should be_enabled }
|
55
70
|
|
56
|
-
|
71
|
+
### exist
|
72
|
+
|
73
|
+
The `exist` matcher tests if the package repository exists:
|
74
|
+
|
75
|
+
it { should exist }
|
57
76
|
|
58
77
|
### repo('name')
|
59
78
|
|
@@ -76,36 +95,3 @@ The `shortname` matcher names a specific package repository's group identifier.
|
|
76
95
|
describe yum.repo('Directory Server') do
|
77
96
|
its('shortname') { should eq 'directory-server' }
|
78
97
|
end
|
79
|
-
|
80
|
-
## Examples
|
81
|
-
|
82
|
-
The following examples show how to use this InSpec audit resource.
|
83
|
-
|
84
|
-
### Test if the yum repo exists
|
85
|
-
|
86
|
-
describe yum do
|
87
|
-
its('repos') { should exist }
|
88
|
-
end
|
89
|
-
|
90
|
-
### Test if the 'base/7/x86_64' repo exists and is enabled
|
91
|
-
|
92
|
-
describe yum do
|
93
|
-
its('repos') { should include 'base/7/x86_64' }
|
94
|
-
its('epel') { should exist }
|
95
|
-
its('epel') { should be_enabled }
|
96
|
-
end
|
97
|
-
|
98
|
-
### Test if a specific yum repo exists
|
99
|
-
|
100
|
-
describe yum.repo('epel') do
|
101
|
-
it { should exist }
|
102
|
-
it { should be_enabled }
|
103
|
-
end
|
104
|
-
|
105
|
-
### Test a particular repository configuration, such as its Base URL
|
106
|
-
|
107
|
-
describe yum.repo('mycompany-artifacts') do
|
108
|
-
it { should exist }
|
109
|
-
it { should be_enabled }
|
110
|
-
its('baseurl') { should include 'mycompany.biz' }
|
111
|
-
end
|