inspec 1.51.0 → 1.51.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -15
  3. data/README.md +1 -1
  4. data/docs/glossary.md +99 -0
  5. data/docs/resources/aide_conf.md.erb +16 -9
  6. data/docs/resources/apache.md.erb +66 -0
  7. data/docs/resources/apache_conf.md.erb +11 -5
  8. data/docs/resources/apt.md.erb +1 -1
  9. data/docs/resources/audit_policy.md.erb +1 -1
  10. data/docs/resources/auditd_conf.md.erb +12 -9
  11. data/docs/resources/bash.md.erb +24 -12
  12. data/docs/resources/bond.md.erb +26 -24
  13. data/docs/resources/bridge.md.erb +18 -11
  14. data/docs/resources/bsd_service.md.erb +11 -2
  15. data/docs/resources/command.md.erb +30 -29
  16. data/docs/resources/cpan.md.erb +33 -17
  17. data/docs/resources/cran.md.erb +26 -17
  18. data/docs/resources/crontab.md.erb +18 -1
  19. data/docs/resources/csv.md.erb +13 -7
  20. data/docs/resources/{dh_params.md → dh_params.md.erb} +30 -6
  21. data/docs/resources/directory.md.erb +9 -4
  22. data/docs/resources/docker.md.erb +1 -1
  23. data/docs/resources/docker_container.md.erb +32 -26
  24. data/docs/resources/docker_image.md.erb +29 -26
  25. data/docs/resources/docker_service.md.erb +37 -31
  26. data/docs/resources/elasticsearch.md.erb +18 -32
  27. data/docs/resources/etc_fstab.md.erb +19 -15
  28. data/docs/resources/etc_group.md.erb +13 -39
  29. data/docs/resources/etc_hosts.md.erb +12 -5
  30. data/docs/resources/etc_hosts_allow.md.erb +9 -4
  31. data/docs/resources/etc_hosts_deny.md.erb +12 -7
  32. data/docs/resources/file.md.erb +139 -134
  33. data/docs/resources/filesystem.md.erb +5 -4
  34. data/docs/resources/firewalld.md.erb +1 -1
  35. data/docs/resources/gem.md.erb +2 -2
  36. data/docs/resources/group.md.erb +1 -1
  37. data/docs/resources/host.md.erb +1 -1
  38. data/docs/resources/iis_app.md.erb +1 -1
  39. data/docs/resources/iis_site.md.erb +1 -1
  40. data/docs/resources/interface.md.erb +1 -1
  41. data/docs/resources/iptables.md.erb +1 -1
  42. data/docs/resources/json.md.erb +1 -1
  43. data/docs/resources/kernel_module.md.erb +1 -1
  44. data/docs/resources/kernel_parameter.md.erb +1 -1
  45. data/docs/resources/launchd_service.md.erb +1 -1
  46. data/docs/resources/limits_conf.md.erb +1 -1
  47. data/docs/resources/login_def.md.erb +1 -1
  48. data/docs/resources/mount.md.erb +1 -1
  49. data/docs/resources/mysql_conf.md.erb +1 -1
  50. data/docs/resources/nginx_conf.md.erb +1 -1
  51. data/docs/resources/npm.md.erb +1 -1
  52. data/docs/resources/oneget.md.erb +1 -1
  53. data/docs/resources/os.md.erb +1 -1
  54. data/docs/resources/os_env.md.erb +2 -2
  55. data/docs/resources/package.md.erb +1 -1
  56. data/docs/resources/packages.md.erb +66 -0
  57. data/docs/resources/parse_config.md.erb +1 -1
  58. data/docs/resources/parse_config_file.md.erb +1 -1
  59. data/docs/resources/passwd.md.erb +1 -1
  60. data/docs/resources/pip.md.erb +1 -1
  61. data/docs/resources/port.md.erb +1 -1
  62. data/docs/resources/postgres_conf.md.erb +1 -1
  63. data/docs/resources/postgres_session.md.erb +1 -1
  64. data/docs/resources/powershell.md.erb +2 -2
  65. data/docs/resources/processes.md.erb +1 -1
  66. data/docs/resources/registry_key.md.erb +1 -1
  67. data/docs/resources/runit_service.md.erb +1 -1
  68. data/docs/resources/security_policy.md.erb +1 -1
  69. data/docs/resources/service.md.erb +1 -1
  70. data/docs/resources/shadow.md.erb +1 -1
  71. data/docs/resources/ssh_config.md.erb +1 -1
  72. data/docs/resources/sshd_config.md.erb +1 -1
  73. data/docs/resources/ssl.md.erb +1 -1
  74. data/docs/resources/sys_info.md.erb +1 -1
  75. data/docs/resources/systemd_service.md.erb +1 -1
  76. data/docs/resources/sysv_service.md.erb +1 -1
  77. data/docs/resources/upstart_service.md.erb +1 -1
  78. data/docs/resources/user.md.erb +1 -1
  79. data/docs/resources/users.md.erb +1 -1
  80. data/docs/resources/windows_feature.md.erb +1 -1
  81. data/docs/resources/windows_hotfix.md.erb +1 -1
  82. data/docs/resources/xinetd_conf.md.erb +1 -1
  83. data/docs/resources/xml.md.erb +1 -1
  84. data/docs/resources/yaml.md.erb +1 -1
  85. data/docs/resources/yum.md.erb +1 -1
  86. data/lib/inspec.rb +2 -1
  87. data/lib/inspec/base_cli.rb +98 -18
  88. data/lib/inspec/cli.rb +33 -21
  89. data/lib/inspec/formatters.rb +3 -0
  90. data/lib/inspec/formatters/base.rb +208 -0
  91. data/lib/inspec/formatters/json_rspec.rb +20 -0
  92. data/lib/inspec/formatters/show_progress.rb +12 -0
  93. data/lib/inspec/objects.rb +1 -0
  94. data/lib/inspec/objects/describe.rb +92 -0
  95. data/lib/inspec/reporters.rb +33 -0
  96. data/lib/inspec/reporters/base.rb +23 -0
  97. data/lib/inspec/reporters/cli.rb +395 -0
  98. data/lib/inspec/reporters/json.rb +132 -0
  99. data/lib/inspec/reporters/json_min.rb +44 -0
  100. data/lib/inspec/reporters/junit.rb +77 -0
  101. data/lib/inspec/runner.rb +14 -1
  102. data/lib/inspec/runner_rspec.rb +34 -14
  103. data/lib/inspec/schema.rb +1 -0
  104. data/lib/inspec/shell.rb +0 -1
  105. data/lib/inspec/version.rb +1 -1
  106. data/lib/resources/apache.rb +20 -0
  107. data/lib/resources/apache_conf.rb +33 -8
  108. data/lib/resources/audit_policy.rb +1 -1
  109. data/lib/resources/packages.rb +4 -3
  110. metadata +17 -4
  111. data/lib/inspec/rspec_json_formatter.rb +0 -940
@@ -22,8 +22,9 @@ A `dh_params` resource block declares a parameter file to be tested.
22
22
  its('text') { should eq 'PKCS#3 DH Parameters: (2048 bit)...' }
23
23
  end
24
24
 
25
+ <br>
25
26
 
26
- ## Supported Properties
27
+ ## Resource Parameter Examples
27
28
 
28
29
  ### dh_params?
29
30
 
@@ -33,13 +34,15 @@ Verify whether file contains DH parameters:
33
34
  it { should be_dh_params }
34
35
  end
35
36
 
36
- ### valid?
37
+ <br>
37
38
 
38
- Verify whether DH parameters are valid:
39
+ ## Supported Resource Properties
39
40
 
40
- describe dh_params('/path/to/file.dh_pem') do
41
- it { should be_valid }
42
- end
41
+ generator, modulus, prime_length, pem, text
42
+
43
+ <br>
44
+
45
+ ## Property Examples
43
46
 
44
47
  ### generator (Integer)
45
48
 
@@ -190,3 +193,24 @@ Verify via `openssl dhparam` command:
190
193
  4c:f6:c5:e3:a1:52:af:01:c1:4f:c7:42:a0:be:ed:
191
194
  cd:13
192
195
  generator: 2 (0x2)
196
+
197
+ <br>
198
+
199
+ ## Matchers
200
+
201
+ For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
202
+
203
+ ### valid?
204
+
205
+ Verify whether DH parameters are valid:
206
+
207
+ describe dh_params('/path/to/file.dh_pem') do
208
+ it { should be_valid }
209
+ end
210
+
211
+ ### be\_dh\_params
212
+
213
+ describe dh_params('/path/to/file.dh_pem') do
214
+ it { should be_dh_params}
215
+ end
216
+
@@ -4,20 +4,25 @@ title: About the directory Resource
4
4
 
5
5
  # directory
6
6
 
7
- Use the `directory` InSpec audit resource to test if the file type is a directory. This is equivalent to using the `file` resource and the `be_directory` matcher, but provides a simpler and more direct way to test directories. All of the matchers available to `file` may be used with `directory`.
7
+ Use the `directory` InSpec audit resource to test if the file type is a directory. This is equivalent to using the `file` resource and the `be_directory` matcher, but provides a simpler and more direct way to test directories.
8
8
 
9
9
  <br>
10
10
 
11
11
  ## Syntax
12
12
 
13
- A `directory` resource block declares the location of the directory to be tested, and then one (or more) matchers:
13
+ A `directory` resource block declares the location of the directory to be tested, and then one (or more) matchers.
14
14
 
15
15
  describe directory('path') do
16
- it { should MATCHER 'value' }
16
+ its('property') { should cmp 'value' }
17
17
  end
18
18
 
19
19
  <br>
20
20
 
21
+ ## Supported Resource Properties
22
+
23
+ All of the properties available to `file` may be used with `directory`.
24
+
25
+ <br>
21
26
  ## Matchers
22
27
 
23
- This resource may use any of the matchers available to the `file` resource that may be useful when testing a directory. For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
28
+ For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
@@ -109,7 +109,7 @@ Or execute the profile directly via URL:
109
109
 
110
110
  ## Matchers
111
111
 
112
- 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/).
112
+ For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
113
113
 
114
114
  ### containers
115
115
 
@@ -23,7 +23,11 @@ A `docker_container` resource block declares the configuration data to be tested
23
23
  its('command') { should eq 'nc -ll -p 1234 -e /bin/cat' }
24
24
  end
25
25
 
26
- The container name can also be passed with the `name` argument:
26
+ ## Resource Parameter Examples
27
+
28
+ ### container
29
+
30
+ The container name can also be passed with the `name` resource parameter:
27
31
 
28
32
  describe docker_container(name: 'an-echo-server') do
29
33
  it { should exist }
@@ -39,55 +43,57 @@ Alternatively, you can pass in the container id:
39
43
 
40
44
  <br>
41
45
 
42
- ## Examples
46
+ ## Property Examples
43
47
 
44
48
  The following examples show how to use this InSpec resource.
45
49
 
46
- ### Verify an running container:
47
-
48
- describe docker_container('an-echo-server') do
49
- it { should exist }
50
- it { should be_running }
51
- its('id') { should_not eq '' }
52
- its('image') { should eq 'busybox:latest' }
53
- its('repo') { should eq 'busybox' }
54
- its('tag') { should eq 'latest' }
55
- its('ports') { should eq [] }
56
- its('command') { should eq 'nc -ll -p 1234 -e /bin/cat' }
57
- end
58
-
59
- <br>
60
-
61
- ## Matchers
62
-
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/).
64
-
65
50
  ### id
66
51
 
67
- The `id` matcher tests the container id:
52
+ The `id` property tests the container id:
68
53
 
69
54
  its('id') { should eq 'sha:71b5df59...442b' }
70
55
 
71
56
  ### repo
72
57
 
73
- The `repo` matcher tests the value of the image repository:
58
+ The `repo` property tests the value of the image repository:
74
59
 
75
60
  its('repo') { should eq 'busybox' }
76
61
 
77
62
  ### tag
78
63
 
79
- The `tag` matcher tests the value of the image tag:
64
+ The `tag` property tests the value of the image tag:
80
65
 
81
66
  its('tag') { should eq 'latest' }
82
67
 
83
68
  ### ports
84
69
 
85
- The `ports` matcher tests the value the docker ports:
70
+ The `ports` property tests the value the docker ports:
86
71
 
87
72
  its('ports') { should eq '0.0.0.0:1234->1234/tcp' }
88
73
 
89
74
  ### command
90
75
 
91
- The `command` matcher tests the value of the container run command:
76
+ The `command` property tests the value of the container run command:
92
77
 
93
78
  its('command') { should eq 'nc -ll -p 1234 -e /bin/cat' }
79
+
80
+
81
+ ### Verify a running container:
82
+
83
+ describe docker_container('an-echo-server') do
84
+ it { should exist }
85
+ it { should be_running }
86
+ its('id') { should_not eq '' }
87
+ its('image') { should eq 'busybox:latest' }
88
+ its('repo') { should eq 'busybox' }
89
+ its('tag') { should eq 'latest' }
90
+ its('ports') { should eq [] }
91
+ its('command') { should eq 'nc -ll -p 1234 -e /bin/cat' }
92
+ end
93
+
94
+ <br>
95
+
96
+ ## Matchers
97
+
98
+ For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
99
+
@@ -19,6 +19,10 @@ A `docker_image` resource block declares the image:
19
19
  its('tag') { should eq 'latest' }
20
20
  end
21
21
 
22
+ <br>
23
+
24
+ ## Resource Parameter Examples
25
+
22
26
  The resource allows you to pass in an image id:
23
27
 
24
28
  describe docker_image(id: alpine_id) do
@@ -39,9 +43,31 @@ You can also pass in repository and tag as separate values
39
43
 
40
44
  <br>
41
45
 
42
- ## Examples
46
+ ## Property Examples
43
47
 
44
- The following examples show how to use this InSpec `docker_image` resource.
48
+ ### id
49
+
50
+ The `id` property returns the full image id:
51
+
52
+ its('id') { should eq 'sha256:4a415e3663882fbc554ee830889c68a33b3585503892cc718a4698e91ef2a526' }
53
+
54
+ ### image
55
+
56
+ The `image` property tests the value of the image. It is a combination of `repository/tag`:
57
+
58
+ its('image') { should eq 'alpine:latest' }
59
+
60
+ ### repo
61
+
62
+ The `repo` property tests the value of the repository name:
63
+
64
+ its('repo') { should eq 'alpine' }
65
+
66
+ ### tag
67
+
68
+ The `tag` property tests the value of image tag:
69
+
70
+ its('tag') { should eq 'latest' }
45
71
 
46
72
  ### Test a docker image
47
73
 
@@ -57,7 +83,7 @@ The following examples show how to use this InSpec `docker_image` resource.
57
83
 
58
84
  ## Matchers
59
85
 
60
- 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/).
86
+ For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
61
87
 
62
88
  ### exist
63
89
 
@@ -65,26 +91,3 @@ The `exist` matcher tests if the image is available on the node:
65
91
 
66
92
  it { should exist }
67
93
 
68
- ### id
69
-
70
- The `id` matcher returns the full image id:
71
-
72
- its('id') { should eq 'sha256:4a415e3663882fbc554ee830889c68a33b3585503892cc718a4698e91ef2a526' }
73
-
74
- ### image
75
-
76
- The `image` matcher tests the value of the image. It is a combination of `repository/tag`:
77
-
78
- its('image') { should eq 'alpine:latest' }
79
-
80
- ### repo
81
-
82
- The `repo` matcher tests the value of the repository name:
83
-
84
- its('repo') { should eq 'alpine' }
85
-
86
- ### tag
87
-
88
- The `tag` matcher tests the value of image tag:
89
-
90
- its('tag') { should eq 'latest' }
@@ -19,6 +19,10 @@ A `docker_service` resource block declares the service by name:
19
19
  its('tag') { should eq 'latest' }
20
20
  end
21
21
 
22
+ <br>
23
+
24
+ ## Resource Parameter Examples
25
+
22
26
  The resource allows you to pass in a service id:
23
27
 
24
28
  describe docker_service(id: '2ghswegspre1') do
@@ -33,75 +37,77 @@ You can also pass in the fully-qualified image:
33
37
 
34
38
  <br>
35
39
 
36
- ## Examples
37
-
38
- The following examples show how to use this InSpec `docker_service` resource.
39
-
40
- ### Test a docker service
40
+ ## Property Examples
41
41
 
42
- describe docker_service('foo') do
43
- it { should exist }
44
- its('id') { should eq '2ghswegspre1' }
45
- its('repo') { should eq 'alpine' }
46
- its('tag') { should eq 'latest' }
47
- end
48
-
49
- <br>
50
-
51
- ## Matchers
52
-
53
- 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/).
54
-
55
- ### exist
56
-
57
- The `exist` matcher tests if the image is available on the node:
58
-
59
- it { should exist }
42
+ The following examples show how to use InSpec `docker_service` resource.
60
43
 
61
44
  ### id
62
45
 
63
- The `id` matcher returns the service id:
46
+ The `id` property returns the service id:
64
47
 
65
48
  its('id') { should eq '2ghswegspre1' }
66
49
 
67
50
  ### image
68
51
 
69
- The `image` matcher tests the value of the image. It is a combination of `repository:tag`:
52
+ The `image` property tests the value of the image. It is a combination of `repository:tag`:
70
53
 
71
54
  its('image') { should eq 'alpine:latest' }
72
55
 
73
56
  ### mode
74
57
 
75
- The `mode` matcher tests the value of the service mode:
58
+ The `mode` property tests the value of the service mode:
76
59
 
77
60
  its('mode') { should eq 'replicated' }
78
61
 
79
62
  ### name
80
63
 
81
- The `name` matcher tests the value of the service name:
64
+ The `name` property tests the value of the service name:
82
65
 
83
66
  its('name') { should eq 'foo' }
84
67
 
85
68
  ### ports
86
69
 
87
- The `ports` matcher tests the value of the service's published ports:
70
+ The `ports` property tests the value of the service's published ports:
88
71
 
89
72
  its('ports') { should include '*:8000->8000/tcp' }
90
73
 
91
74
  ### repo
92
75
 
93
- The `repo` matcher tests the value of the repository name:
76
+ The `repo` property tests the value of the repository name:
94
77
 
95
78
  its('repo') { should eq 'alpine' }
96
79
 
97
80
  ### replicas
98
81
 
99
- The `replicas` matcher tests the value of the service's replica count:
82
+ The `replicas` property tests the value of the service's replica count:
100
83
 
101
84
  its('replicas') { should eq '3/3' }
102
85
 
103
86
  ### tag
104
87
 
105
- The `tag` matcher tests the value of image tag:
88
+ The `tag` property tests the value of image tag:
106
89
 
107
90
  its('tag') { should eq 'latest' }
91
+
92
+ ### Test a docker service
93
+
94
+ describe docker_service('foo') do
95
+ it { should exist }
96
+ its('id') { should eq '2ghswegspre1' }
97
+ its('repo') { should eq 'alpine' }
98
+ its('tag') { should eq 'latest' }
99
+ end
100
+
101
+ <br>
102
+
103
+ ## Matchers
104
+
105
+ For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
106
+
107
+ ### exist
108
+
109
+ The `exist` matcher tests if the image is available on the node:
110
+
111
+ it { should exist }
112
+
113
+
@@ -1,12 +1,12 @@
1
1
  ---
2
- title: The Elasticsearch Resource
2
+ title: About the Elasticsearch Resource
3
3
  ---
4
4
 
5
5
  # elasticsearch
6
6
 
7
- The `elasticsearch` resource allows testing of a node status against a running
8
- Elasticsearch cluster. InSpec will retrieve the node list from the cluster node URL
9
- provided (defaults to `http://localhost:9200`) and provide the ability to query
7
+ Use the `elasticsearch` resource to test the status of a node against a running
8
+ Elasticsearch cluster. InSpec retrieves the node list from the cluster node URL
9
+ provided (defaults to `http://localhost:9200`) and provides the ability to query
10
10
  a variety of settings and statuses.
11
11
 
12
12
  ## Syntax
@@ -15,7 +15,9 @@ a variety of settings and statuses.
15
15
  its('property') { should cmp 'value' }
16
16
  end
17
17
 
18
- The `elasticsearch` resource accepts a number of optional values:
18
+ ## Supported Resource parameters
19
+
20
+ The `elasticsearch` resource accepts a number of optional resource parameters:
19
21
 
20
22
  * `url`: the top-level URL of an Elasticsearch node in the cluster. If your Elasticsearch installation is not served out of the top-level directory at the host, be sure to specific the full URL; for example: `http://my-load-balancer/elasticsearch`. Default: `http://localhost:9200`
21
23
  * `username`: a username to use to log in with HTTP-Basic authentication. If `username` is provided, a `password` must also be provided.
@@ -38,33 +40,13 @@ To simply check if nodes exist that match the criteria, use the `exist` matcher:
38
40
  it { should exist }
39
41
  end
40
42
 
41
- ## Supported Properties
43
+ ## Supported Resource Properties
42
44
 
43
45
  The following properties are provided:
44
46
 
45
- * build_hash
46
- * cluster_name
47
- * host
48
- * http
49
- * ingest
50
- * ip
51
- * jvm
52
- * module_list
53
- * modules
54
- * node_name
55
- * node_id
56
- * os
57
- * plugin_list
58
- * plugins
59
- * process
60
- * roles
61
- * settings
62
- * total_indexing_buffer
63
- * transport
64
- * transport_address
65
- * version
66
-
67
- Since the `elasticsearch` resource is meant for use on a cluster, each property will return an array of the values for each node that matches any provided search criteria. Using InSpec's `cmp` matcher will help avoid any issues when trying to compare values for when a single match is returned (i.e. when the cluster only contains a single node, or the `where` filter criteria provided only returns a single node).
47
+ * build\_hash cluster\_name, host, http, ingest, ip, jvm, module\_list, modules, node\_name, node\_id, os, plugin\_list, plugins, process, roles, settings, total\_indexing\_buffer, transport, transport\_address, version
48
+
49
+ Since the `elasticsearch` resource is meant for use on a cluster, each property will return an array of the values for each node that matches any provided search criteria. Using InSpec's `cmp` matcher helps avoid issues when comparing values when there is only a single match (i.e. when the cluster only contains a single node, or the `where` filter criteria provided only returns a single node).
68
50
 
69
51
  ## Property Examples
70
52
 
@@ -86,7 +68,7 @@ Returns the cluster names of each of the nodes.
86
68
 
87
69
  ### host
88
70
 
89
- Returns the hostname of each of the nodes. This may return an IP address of the node is not properly performing DNS resolution or has no hostname set.
71
+ Returns the hostname of each of the nodes. This may return an IP address, if the node is improperly performing DNS resolution or has no hostname set.
90
72
 
91
73
  describe elasticsearch do
92
74
  its('host') { should cmp 'my.hostname.mycompany.biz' }
@@ -134,7 +116,7 @@ Returns a list of enabled modules for each node in the cluster. For more additio
134
116
 
135
117
  ### modules
136
118
 
137
- Returns detailed information about each enabled module for each node in the cluster. For a succint list of the names of each of the modules enabled, use the `module_list` property. This example uses a bit of additional Ruby to find a specific module and assert a value.
119
+ Returns detailed information about each enabled module for each node in the cluster. For a succint list of the names of each of the modules enabled, use the `module_list` property. This example uses additional Ruby to find a specific module and assert a value.
138
120
 
139
121
  modules = elasticsearch.modules.first
140
122
  lang_groovy_module = modules.find { |mod| mod.name == 'lang-groovy' }
@@ -178,7 +160,7 @@ Returns a list of enabled plugins for each node in the cluster. For more additio
178
160
 
179
161
  ### plugins
180
162
 
181
- Returns detailed information about each enabled plugin for each node in the cluster. For a succint list of the names of each of the plugins enabled, use the `plugin_list` property. This example uses a bit of additional Ruby to find a specific plugin and assert a value.
163
+ Returns detailed information about each enabled plugin for each node in the cluster. For a succint list of the names of each of the plugins enabled, use the `plugin_list` property. This example uses additional Ruby to find a specific plugin and assert a value.
182
164
 
183
165
  plugins = elasticsearch.plugins.first
184
166
  my_plugin = plugins.find { |plugin| plugin.name == 'my_plugin' }
@@ -243,3 +225,7 @@ Returns the version of Elasticsearch running on each node of the cluster.
243
225
  describe elasticsearch do
244
226
  its('version') { should cmp '5.5.2' }
245
227
  end
228
+
229
+ ## Matchers
230
+
231
+ For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).