inspec-core 2.3.10 → 2.3.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (216) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -13
  3. data/etc/plugin_filters.json +25 -0
  4. data/inspec-core.gemspec +1 -1
  5. data/lib/bundles/inspec-compliance/api.rb +3 -0
  6. data/lib/bundles/inspec-compliance/configuration.rb +3 -0
  7. data/lib/bundles/inspec-compliance/http.rb +3 -0
  8. data/lib/bundles/inspec-compliance/support.rb +3 -0
  9. data/lib/bundles/inspec-compliance/target.rb +3 -0
  10. data/lib/inspec/objects/attribute.rb +3 -0
  11. data/lib/inspec/plugin/v2.rb +3 -0
  12. data/lib/inspec/plugin/v2/filter.rb +62 -0
  13. data/lib/inspec/plugin/v2/installer.rb +21 -1
  14. data/lib/inspec/plugin/v2/loader.rb +4 -0
  15. data/lib/inspec/profile.rb +3 -1
  16. data/lib/inspec/version.rb +1 -1
  17. data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/cli_command.rb +25 -3
  18. data/lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb +65 -11
  19. data/lib/plugins/inspec-plugin-manager-cli/test/unit/cli_args_test.rb +5 -1
  20. data/lib/resources/package.rb +1 -1
  21. metadata +4 -197
  22. data/docs/.gitignore +0 -2
  23. data/docs/README.md +0 -41
  24. data/docs/dev/control-eval.md +0 -62
  25. data/docs/dev/filtertable-internals.md +0 -353
  26. data/docs/dev/filtertable-usage.md +0 -533
  27. data/docs/dev/integration-testing.md +0 -31
  28. data/docs/dev/plugins.md +0 -323
  29. data/docs/dsl_inspec.md +0 -354
  30. data/docs/dsl_resource.md +0 -100
  31. data/docs/glossary.md +0 -381
  32. data/docs/habitat.md +0 -193
  33. data/docs/inspec_and_friends.md +0 -114
  34. data/docs/matchers.md +0 -161
  35. data/docs/migration.md +0 -293
  36. data/docs/platforms.md +0 -119
  37. data/docs/plugin_kitchen_inspec.md +0 -60
  38. data/docs/plugins.md +0 -57
  39. data/docs/profiles.md +0 -576
  40. data/docs/reporters.md +0 -170
  41. data/docs/resources/aide_conf.md.erb +0 -86
  42. data/docs/resources/apache.md.erb +0 -77
  43. data/docs/resources/apache_conf.md.erb +0 -78
  44. data/docs/resources/apt.md.erb +0 -81
  45. data/docs/resources/audit_policy.md.erb +0 -57
  46. data/docs/resources/auditd.md.erb +0 -89
  47. data/docs/resources/auditd_conf.md.erb +0 -78
  48. data/docs/resources/bash.md.erb +0 -85
  49. data/docs/resources/bond.md.erb +0 -100
  50. data/docs/resources/bridge.md.erb +0 -67
  51. data/docs/resources/bsd_service.md.erb +0 -77
  52. data/docs/resources/chocolatey_package.md.erb +0 -68
  53. data/docs/resources/command.md.erb +0 -176
  54. data/docs/resources/cpan.md.erb +0 -89
  55. data/docs/resources/cran.md.erb +0 -74
  56. data/docs/resources/crontab.md.erb +0 -103
  57. data/docs/resources/csv.md.erb +0 -64
  58. data/docs/resources/dh_params.md.erb +0 -221
  59. data/docs/resources/directory.md.erb +0 -40
  60. data/docs/resources/docker.md.erb +0 -240
  61. data/docs/resources/docker_container.md.erb +0 -113
  62. data/docs/resources/docker_image.md.erb +0 -104
  63. data/docs/resources/docker_plugin.md.erb +0 -80
  64. data/docs/resources/docker_service.md.erb +0 -124
  65. data/docs/resources/elasticsearch.md.erb +0 -252
  66. data/docs/resources/etc_fstab.md.erb +0 -135
  67. data/docs/resources/etc_group.md.erb +0 -85
  68. data/docs/resources/etc_hosts.md.erb +0 -88
  69. data/docs/resources/etc_hosts_allow.md.erb +0 -84
  70. data/docs/resources/etc_hosts_deny.md.erb +0 -84
  71. data/docs/resources/file.md.erb +0 -543
  72. data/docs/resources/filesystem.md.erb +0 -51
  73. data/docs/resources/firewalld.md.erb +0 -117
  74. data/docs/resources/gem.md.erb +0 -108
  75. data/docs/resources/group.md.erb +0 -71
  76. data/docs/resources/grub_conf.md.erb +0 -111
  77. data/docs/resources/host.md.erb +0 -96
  78. data/docs/resources/http.md.erb +0 -207
  79. data/docs/resources/iis_app.md.erb +0 -132
  80. data/docs/resources/iis_site.md.erb +0 -145
  81. data/docs/resources/inetd_conf.md.erb +0 -104
  82. data/docs/resources/ini.md.erb +0 -86
  83. data/docs/resources/interface.md.erb +0 -68
  84. data/docs/resources/iptables.md.erb +0 -74
  85. data/docs/resources/json.md.erb +0 -73
  86. data/docs/resources/kernel_module.md.erb +0 -130
  87. data/docs/resources/kernel_parameter.md.erb +0 -63
  88. data/docs/resources/key_rsa.md.erb +0 -95
  89. data/docs/resources/launchd_service.md.erb +0 -67
  90. data/docs/resources/limits_conf.md.erb +0 -85
  91. data/docs/resources/login_defs.md.erb +0 -81
  92. data/docs/resources/mount.md.erb +0 -79
  93. data/docs/resources/mssql_session.md.erb +0 -78
  94. data/docs/resources/mysql_conf.md.erb +0 -109
  95. data/docs/resources/mysql_session.md.erb +0 -84
  96. data/docs/resources/nginx.md.erb +0 -89
  97. data/docs/resources/nginx_conf.md.erb +0 -148
  98. data/docs/resources/npm.md.erb +0 -78
  99. data/docs/resources/ntp_conf.md.erb +0 -70
  100. data/docs/resources/oneget.md.erb +0 -63
  101. data/docs/resources/oracledb_session.md.erb +0 -103
  102. data/docs/resources/os.md.erb +0 -153
  103. data/docs/resources/os_env.md.erb +0 -101
  104. data/docs/resources/package.md.erb +0 -130
  105. data/docs/resources/packages.md.erb +0 -77
  106. data/docs/resources/parse_config.md.erb +0 -113
  107. data/docs/resources/parse_config_file.md.erb +0 -148
  108. data/docs/resources/passwd.md.erb +0 -151
  109. data/docs/resources/pip.md.erb +0 -77
  110. data/docs/resources/port.md.erb +0 -147
  111. data/docs/resources/postgres_conf.md.erb +0 -89
  112. data/docs/resources/postgres_hba_conf.md.erb +0 -103
  113. data/docs/resources/postgres_ident_conf.md.erb +0 -86
  114. data/docs/resources/postgres_session.md.erb +0 -79
  115. data/docs/resources/powershell.md.erb +0 -112
  116. data/docs/resources/processes.md.erb +0 -119
  117. data/docs/resources/rabbitmq_config.md.erb +0 -51
  118. data/docs/resources/registry_key.md.erb +0 -197
  119. data/docs/resources/runit_service.md.erb +0 -67
  120. data/docs/resources/security_policy.md.erb +0 -57
  121. data/docs/resources/service.md.erb +0 -131
  122. data/docs/resources/shadow.md.erb +0 -267
  123. data/docs/resources/ssh_config.md.erb +0 -83
  124. data/docs/resources/sshd_config.md.erb +0 -93
  125. data/docs/resources/ssl.md.erb +0 -129
  126. data/docs/resources/sys_info.md.erb +0 -52
  127. data/docs/resources/systemd_service.md.erb +0 -67
  128. data/docs/resources/sysv_service.md.erb +0 -67
  129. data/docs/resources/upstart_service.md.erb +0 -67
  130. data/docs/resources/user.md.erb +0 -150
  131. data/docs/resources/users.md.erb +0 -137
  132. data/docs/resources/vbscript.md.erb +0 -65
  133. data/docs/resources/virtualization.md.erb +0 -67
  134. data/docs/resources/windows_feature.md.erb +0 -69
  135. data/docs/resources/windows_hotfix.md.erb +0 -63
  136. data/docs/resources/windows_task.md.erb +0 -95
  137. data/docs/resources/wmi.md.erb +0 -91
  138. data/docs/resources/x509_certificate.md.erb +0 -161
  139. data/docs/resources/xinetd_conf.md.erb +0 -166
  140. data/docs/resources/xml.md.erb +0 -95
  141. data/docs/resources/yaml.md.erb +0 -79
  142. data/docs/resources/yum.md.erb +0 -108
  143. data/docs/resources/zfs_dataset.md.erb +0 -63
  144. data/docs/resources/zfs_pool.md.erb +0 -57
  145. data/docs/shared/matcher_be.md.erb +0 -1
  146. data/docs/shared/matcher_cmp.md.erb +0 -43
  147. data/docs/shared/matcher_eq.md.erb +0 -3
  148. data/docs/shared/matcher_include.md.erb +0 -1
  149. data/docs/shared/matcher_match.md.erb +0 -1
  150. data/docs/shell.md +0 -217
  151. data/docs/style.md +0 -178
  152. data/examples/README.md +0 -8
  153. data/examples/custom-resource/README.md +0 -3
  154. data/examples/custom-resource/controls/example.rb +0 -7
  155. data/examples/custom-resource/inspec.yml +0 -8
  156. data/examples/custom-resource/libraries/batsignal.rb +0 -20
  157. data/examples/custom-resource/libraries/gordon.rb +0 -21
  158. data/examples/inheritance/README.md +0 -65
  159. data/examples/inheritance/controls/example.rb +0 -14
  160. data/examples/inheritance/inspec.yml +0 -16
  161. data/examples/kitchen-ansible/.kitchen.yml +0 -25
  162. data/examples/kitchen-ansible/Gemfile +0 -19
  163. data/examples/kitchen-ansible/README.md +0 -53
  164. data/examples/kitchen-ansible/files/nginx.repo +0 -6
  165. data/examples/kitchen-ansible/tasks/main.yml +0 -16
  166. data/examples/kitchen-ansible/test/integration/default/default.yml +0 -5
  167. data/examples/kitchen-ansible/test/integration/default/web_spec.rb +0 -28
  168. data/examples/kitchen-chef/.kitchen.yml +0 -20
  169. data/examples/kitchen-chef/Berksfile +0 -3
  170. data/examples/kitchen-chef/Gemfile +0 -19
  171. data/examples/kitchen-chef/README.md +0 -27
  172. data/examples/kitchen-chef/metadata.rb +0 -7
  173. data/examples/kitchen-chef/recipes/default.rb +0 -6
  174. data/examples/kitchen-chef/recipes/nginx.rb +0 -30
  175. data/examples/kitchen-chef/test/integration/default/web_spec.rb +0 -28
  176. data/examples/kitchen-puppet/.kitchen.yml +0 -23
  177. data/examples/kitchen-puppet/Gemfile +0 -20
  178. data/examples/kitchen-puppet/Puppetfile +0 -25
  179. data/examples/kitchen-puppet/README.md +0 -53
  180. data/examples/kitchen-puppet/manifests/site.pp +0 -33
  181. data/examples/kitchen-puppet/metadata.json +0 -11
  182. data/examples/kitchen-puppet/modules/.gitkeep +0 -0
  183. data/examples/kitchen-puppet/test/integration/default/web_spec.rb +0 -28
  184. data/examples/meta-profile/README.md +0 -37
  185. data/examples/meta-profile/controls/example.rb +0 -13
  186. data/examples/meta-profile/inspec.yml +0 -13
  187. data/examples/plugins/inspec-resource-lister/Gemfile +0 -12
  188. data/examples/plugins/inspec-resource-lister/LICENSE +0 -13
  189. data/examples/plugins/inspec-resource-lister/README.md +0 -62
  190. data/examples/plugins/inspec-resource-lister/Rakefile +0 -40
  191. data/examples/plugins/inspec-resource-lister/inspec-resource-lister.gemspec +0 -45
  192. data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister.rb +0 -16
  193. data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister/cli_command.rb +0 -70
  194. data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister/plugin.rb +0 -55
  195. data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister/version.rb +0 -10
  196. data/examples/plugins/inspec-resource-lister/test/fixtures/README.md +0 -24
  197. data/examples/plugins/inspec-resource-lister/test/functional/README.md +0 -18
  198. data/examples/plugins/inspec-resource-lister/test/functional/inspec_resource_lister_test.rb +0 -110
  199. data/examples/plugins/inspec-resource-lister/test/helper.rb +0 -26
  200. data/examples/plugins/inspec-resource-lister/test/unit/README.md +0 -17
  201. data/examples/plugins/inspec-resource-lister/test/unit/cli_args_test.rb +0 -64
  202. data/examples/plugins/inspec-resource-lister/test/unit/plugin_def_test.rb +0 -51
  203. data/examples/profile-attribute.yml +0 -2
  204. data/examples/profile-attribute/README.md +0 -14
  205. data/examples/profile-attribute/controls/example.rb +0 -11
  206. data/examples/profile-attribute/inspec.yml +0 -8
  207. data/examples/profile-sensitive/README.md +0 -29
  208. data/examples/profile-sensitive/controls/sensitive-failures.rb +0 -9
  209. data/examples/profile-sensitive/controls/sensitive.rb +0 -9
  210. data/examples/profile-sensitive/inspec.yml +0 -8
  211. data/examples/profile/README.md +0 -48
  212. data/examples/profile/controls/example.rb +0 -24
  213. data/examples/profile/controls/gordon.rb +0 -36
  214. data/examples/profile/controls/meta.rb +0 -36
  215. data/examples/profile/inspec.yml +0 -11
  216. data/examples/profile/libraries/gordon_config.rb +0 -59
@@ -1,57 +0,0 @@
1
- ---
2
- title: About the audit_policy Resource
3
- platform: linux
4
- ---
5
-
6
- # audit_policy
7
-
8
- Use the `audit_policy` InSpec audit resource to test auditing policies on the Windows platform. An auditing policy is a category of security-related events to be audited. Auditing is disabled by default and may be enabled for categories like account management, logon events, policy changes, process tracking, privilege use, system events, or object access. For each enabled auditing category property, the auditing level may be set to `No Auditing`, `Not Specified`, `Success`, `Success and Failure`, or `Failure`.
9
-
10
- <br>
11
-
12
- ## Availability
13
-
14
- ### Installation
15
-
16
- This resource is distributed along with InSpec itself. You can use it automatically.
17
-
18
- ### Version
19
-
20
- This resource first became available in v1.0.0 of InSpec.
21
-
22
- ## Syntax
23
-
24
- An `audit_policy` resource block declares a parameter that belongs to an audit policy category or subcategory:
25
-
26
- describe audit_policy do
27
- its('parameter') { should eq 'value' }
28
- end
29
-
30
- where
31
-
32
- * `'parameter'` must specify a parameter
33
- * `'value'` must be one of `No Auditing`, `Not Specified`, `Success`, `Success and Failure`, or `Failure`
34
-
35
- <br>
36
-
37
- ## Examples
38
-
39
- The following examples show how to use this InSpec audit resource.
40
-
41
- ### Test that a parameter is not set to "No Auditing"
42
-
43
- describe audit_policy do
44
- its('Other Account Logon Events') { should_not eq 'No Auditing' }
45
- end
46
-
47
- ### Test that a parameter is set to "Success"
48
-
49
- describe audit_policy do
50
- its('User Account Management') { should eq 'Success' }
51
- end
52
-
53
- <br>
54
-
55
- ## Matchers
56
-
57
- For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
@@ -1,89 +0,0 @@
1
- ---
2
- title: About the auditd Resource
3
- platform: linux
4
- ---
5
-
6
- # auditd
7
-
8
- Use the `auditd` InSpec audit resource to test the rules for logging that exist on the system. The audit.rules file is typically located under /etc/audit/ and contains the list of rules that define what is captured in log files. These rules are output using the auditctl -l command. This resource supports versions of `audit` >= 2.3.
9
-
10
- <br>
11
-
12
- ## Availability
13
-
14
- ### Installation
15
-
16
- This resource is distributed along with InSpec itself. You can use it automatically.
17
-
18
- ### Version
19
-
20
- This resource first became available in v1.38.8 of InSpec.
21
-
22
- ## Syntax
23
-
24
- An `auditd` resource block declares one (or more) rules to be tested, and then what that rule should do:
25
-
26
- describe auditd do
27
- its('lines') { should include %r(-w /etc/ssh/sshd_config) }
28
- end
29
-
30
- or test that multiple individual rules are defined:
31
-
32
- describe auditd do
33
- its('lines') { should include %r(-a always,exit -F arch=.* -S init_module,delete_module -F key=modules) }
34
- its('lines') { should include %r(-a always,exit -F arch=.* -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=-1 -F key=.+) }
35
- end
36
-
37
- where each test must declare one (or more) rules to be tested.
38
-
39
- <br>
40
-
41
- ## Examples
42
-
43
- The following examples show how to use this InSpec audit resource.
44
-
45
- ### Test if a rule contains a matching element that is identified by a regular expression
46
-
47
- For `audit` >= 2.3:
48
-
49
- describe auditd do
50
- its('lines') { should include %r(-a always,exit -F arch=.* -S chown.* -F auid>=1000 -F auid!=-1 -F key=perm_mod) }
51
- end
52
-
53
- ### Query the audit daemon status
54
-
55
- describe auditd.status('backlog') do
56
- it { should cmp 0 }
57
- end
58
-
59
- ### Query properties of rules targeting specific syscalls or files - uniq is used to handle multiple rules for the same syscall with redundant field values
60
-
61
- describe auditd.syscall('open') do
62
- its('action.uniq') { should eq ['always'] }
63
- its('list.uniq') { should eq ['exit'] }
64
- end
65
-
66
- describe auditd.file('/etc/sudoers') do
67
- its('permissions') { should include ['x'] }
68
- end
69
-
70
- The where accessor can be used to filter on fields. For example:
71
-
72
- describe auditd.syscall('chown').where { arch == "b32" } do
73
- its('action') { should eq ['always'] }
74
- its('list') { should eq ['exit'] }
75
- its('exit') { should include ['-EACCES'] }
76
- its('exit') { should include ['-EPERM'] }
77
- end
78
-
79
- The key filter may be useful in evaluating rules with particular key values:
80
-
81
- describe auditd.where { key == "privileged" } do
82
- its('permissions') { should include ['x'] }
83
- end
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/).
@@ -1,78 +0,0 @@
1
- ---
2
- title: About the auditd_conf Resource
3
- platform: linux
4
- ---
5
-
6
- # auditd_conf
7
-
8
- Use the `auditd_conf` InSpec audit resource to test the configuration settings for the audit daemon. This file is typically located under `/etc/audit/auditd.conf'` on Unix and Linux platforms.
9
-
10
- <br>
11
-
12
- ## Availability
13
-
14
- ### Installation
15
-
16
- This resource is distributed along with InSpec itself. You can use it automatically.
17
-
18
- ### Version
19
-
20
- This resource first became available in v1.0.0 of InSpec.
21
-
22
- ## Syntax
23
-
24
- A `auditd_conf` resource block declares configuration settings that should be tested:
25
-
26
- describe auditd_conf('path') do
27
- its('keyword') { should cmp 'value' }
28
- end
29
-
30
- where
31
-
32
- * `'keyword'` is a configuration setting defined in the `auditd.conf` configuration file
33
- * `('path')` is the non-default path to the `auditd.conf` configuration file
34
- * `{ should cmp 'value' }` is the value that is expected
35
-
36
- <br>
37
-
38
- ## Properties
39
-
40
- This matcher will match any property listed in the `auditd.conf` configuration file. Property names and expected values are case-insensitive:
41
-
42
- * `admin_space_left`, `admin_space_left_action`, `action_mail_acct`, `disk_error_action`, `disk_full_action`, `flush`, `freq`, `log_file`, `log_format`, `max_log_file`, `max_log_file_action`, `num_logs`, `space_left`, `space_left_action`
43
-
44
- ## Property Examples
45
-
46
- The following examples show how to use this InSpec audit resource.
47
-
48
- ### Test the auditd.conf file
49
-
50
- describe auditd_conf do
51
- its('log_file') { should cmp '/full/path/to/file' }
52
- its('log_format') { should cmp 'raw' }
53
- its('flush') { should cmp 'none' }
54
- its('freq') { should cmp 1 }
55
- its('num_logs') { should cmp 0 }
56
- its('max_log_file') { should cmp 6 }
57
- its('max_log_file_action') { should cmp 'email' }
58
- its('space_left') { should cmp 2 }
59
- its('action_mail_acct') { should cmp 'root' }
60
- its('space_left_action') { should cmp 'email' }
61
- its('admin_space_left') { should cmp 1 }
62
- its('admin_space_left_action') { should cmp 'halt' }
63
- its('disk_full_action') { should cmp 'halt' }
64
- its('disk_error_action') { should cmp 'halt' }
65
- end
66
-
67
- <br>
68
-
69
- ## Matchers
70
-
71
- For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
72
-
73
- ### `cmp`
74
-
75
- The `cmp` matcher compares values across types.
76
-
77
- its('freq') { should cmp 1 }
78
-
@@ -1,85 +0,0 @@
1
- ---
2
- title: About the bash Resource
3
- platform: linux
4
- ---
5
-
6
- # bash
7
-
8
- Use the `bash` InSpec audit resource to test an arbitrary command that is run on the system using a Bash script.
9
-
10
- <br>
11
-
12
- ## Availability
13
-
14
- ### Installation
15
-
16
- This resource is distributed along with InSpec itself. You can use it automatically.
17
-
18
- ### Version
19
-
20
- This resource first became available in v1.0.0 of InSpec.
21
-
22
- ## Syntax
23
-
24
- A `command` resource block declares a command to be run, one (or more) expected outputs, and the location to which that output is sent:
25
-
26
- describe bash('command') do
27
- it { should exist }
28
- its('property') { should eq 'expected value' }
29
- end
30
-
31
- where
32
-
33
- * `'command'` must specify a command to be run
34
- * `'property'` is one of `exit_status`, `stderr`, or `stdout`
35
- * `'expected value'` tests the output of the command run on the system versus the expected output stated in the test
36
-
37
- For example:
38
-
39
- describe bash('ls -al /') do
40
- its('stdout') { should match /bin/ }
41
- its('stderr') { should eq '' }
42
- its('exit_status') { should eq 0 }
43
- end
44
-
45
- <br>
46
-
47
- ## Properties
48
-
49
- * `exit_status`, `stderr`, `stdout`
50
-
51
- <br>
52
-
53
- ## Property Examples
54
-
55
- ### exit_status
56
-
57
- The `exit_status` property tests the exit status for the command:
58
-
59
- its('exit_status') { should eq 0 }
60
-
61
- ### stderr
62
-
63
- The `stderr` property tests results of the command as returned in standard error (stderr):
64
-
65
- its('stderr') { should eq '' }
66
-
67
- ### stdout
68
-
69
- The `stdout` property tests results of the command as returned in standard output (stdout).
70
-
71
- its('stdout') { should match /bin/ }
72
-
73
- <br>
74
-
75
- ## Matchers
76
-
77
- For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
78
-
79
- ### exist
80
-
81
- If an absolute path is provided, the `exist` matcher tests if the command exists on the filesystem at the specified location. Otherwise, the `exist` matcher tests if the command is found in the PATH.
82
-
83
- it { should exist }
84
-
85
-
@@ -1,100 +0,0 @@
1
- ---
2
- title: About the bond Resource
3
- platform: linux
4
- ---
5
-
6
- # bond
7
-
8
- Use the `bond` InSpec audit resource to test a logical, bonded network interface (i.e. "two or more network interfaces aggregated into a single, logical network interface"). On Linux platforms, any value in the `/proc/net/bonding` directory may be tested.
9
-
10
- <br>
11
-
12
- ## Availability
13
-
14
- ### Installation
15
-
16
- This resource is distributed along with InSpec itself. You can use it automatically.
17
-
18
- ### Version
19
-
20
- This resource first became available in v1.0.0 of InSpec.
21
-
22
- ## Syntax
23
-
24
- A `bond` resource block declares a bonded network interface, and then specifies the properties of that bonded network interface to be tested:
25
-
26
- describe bond('name') do
27
- it { should exist }
28
- end
29
-
30
- where
31
-
32
- * `'name'` is the name of the bonded network interface
33
- * `{ should exist }` is a valid matcher for this resource
34
-
35
- <br>
36
-
37
- ## Property Examples
38
-
39
- The following examples show how to use this InSpec audit resource.
40
-
41
- ### content
42
-
43
- The `content` matcher tests if contents in the file that defines the bonded network interface match the value specified in the test. The values of the `content` matcher are arbitrary.
44
-
45
- its('content') { should match('value') }
46
-
47
- ### interfaces
48
-
49
- The `interfaces` matcher tests if the named secondary interfaces are available.
50
-
51
- its('interfaces') { should eq ['eth0', 'eth1', ...] }
52
-
53
- ### mode
54
-
55
- The `mode` matcher tests the Bonding Mode.
56
-
57
- its('mode') { should eq 'IEEE 802.3ad Dynamic link aggregation' }
58
-
59
- ### params
60
-
61
- The `params` matcher tests arbitrary parameters for the bonded network interface.
62
-
63
- its('params') { should eq 'value' }
64
-
65
- ### Test if eth0 is a secondary interface for bond0
66
-
67
- describe bond('bond0') do
68
- it { should exist }
69
- it { should have_interface 'eth0' }
70
- end
71
-
72
- ### Test parameters for bond0
73
-
74
- describe bond('bond0') do
75
- its('mode') { should eq 'IEEE 802.3ad Dynamic link aggregation' }
76
- its('Transmit Hash Policy') { should eq 'layer3+4 (1)' }
77
- its('MII Status') { should eq 'up' }
78
- its('MII Polling Interval (ms)') { should eq '100' }
79
- its('Up Delay (ms)') { should eq '0' }
80
- its('Down Delay (ms)') { should eq '0' }
81
- end
82
-
83
- <br>
84
-
85
- ## Matchers
86
-
87
- For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
88
-
89
- ### exist
90
-
91
- The `exist` matcher tests if the bonded network interface is available:
92
-
93
- it { should exist }
94
-
95
- ### have_interface
96
-
97
- The `have_interface` matcher tests if the bonded network interface has one (or more) secondary interfaces:
98
-
99
- it { should have_interface }
100
-
@@ -1,67 +0,0 @@
1
- ---
2
- title: About the bridge Resource
3
- platform: linux
4
- ---
5
-
6
- # bridge
7
-
8
- Use the `bridge` InSpec audit resource to test basic network bridge properties, such as name, if an interface is defined, and the associations for any defined interface.
9
-
10
- <br>
11
-
12
- ## Availability
13
-
14
- ### Installation
15
-
16
- This resource is distributed along with InSpec itself. You can use it automatically.
17
-
18
- ### Version
19
-
20
- This resource first became available in v1.0.0 of InSpec.
21
-
22
- ## Syntax
23
-
24
- A `bridge` resource block declares the bridge to be tested and what interface it should be associated with:
25
-
26
- describe bridge('br0') do
27
- it { should exist }
28
- it { should have_interface 'eth0' }
29
- end
30
-
31
- <br>
32
-
33
- ## Properties
34
-
35
- * On Linux platforms, any value in the `/sys/class/net/{interface}/bridge` directory may be tested
36
- * On the Windows platform, the `Get-NetAdapter` cmdlet is associated with the `Get-NetAdapterBinding` cmdlet and returns the `ComponentID ms_bridge` value as a JSON object
37
-
38
- <br>
39
-
40
- ## Property Examples
41
-
42
- ### interfaces
43
-
44
- The `interfaces` property tests if the named interface is present:
45
-
46
- its('interfaces') { should eq 'foo' }
47
- its('interfaces') { should eq 'bar' }
48
- its('interfaces') { should include('foo') }
49
-
50
- <br>
51
-
52
- ## Matchers
53
-
54
- For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
55
-
56
- ### exist
57
-
58
- The `exist` matcher tests if the network bridge is available:
59
-
60
- it { should exist }
61
-
62
- ### have_interface
63
-
64
- The `have_interface` matcher tests if the named interface is defined for the network bridge:
65
-
66
- it { should have_interface 'eth0' }
67
-