inspec 4.18.51 → 4.18.85

Sign up to get free protection for your applications and to get access to all the features.
Files changed (371) hide show
  1. checksums.yaml +4 -4
  2. data/inspec.gemspec +15 -37
  3. data/lib/resource_support/aws/aws_resource_mixin.rb +1 -1
  4. metadata +22 -709
  5. data/Gemfile +0 -61
  6. data/LICENSE +0 -14
  7. data/README.md +0 -474
  8. data/etc/deprecations.json +0 -125
  9. data/etc/plugin_filters.json +0 -45
  10. data/lib/bundles/README.md +0 -3
  11. data/lib/bundles/inspec-compliance/api.rb +0 -7
  12. data/lib/bundles/inspec-compliance/configuration.rb +0 -7
  13. data/lib/bundles/inspec-compliance/http.rb +0 -7
  14. data/lib/bundles/inspec-compliance/support.rb +0 -7
  15. data/lib/bundles/inspec-compliance/target.rb +0 -7
  16. data/lib/bundles/inspec-supermarket.rb +0 -9
  17. data/lib/bundles/inspec-supermarket/README.md +0 -45
  18. data/lib/bundles/inspec-supermarket/api.rb +0 -87
  19. data/lib/bundles/inspec-supermarket/cli.rb +0 -71
  20. data/lib/bundles/inspec-supermarket/target.rb +0 -31
  21. data/lib/inspec.rb +0 -30
  22. data/lib/inspec/archive/tar.rb +0 -25
  23. data/lib/inspec/archive/zip.rb +0 -15
  24. data/lib/inspec/backend.rb +0 -101
  25. data/lib/inspec/base_cli.rb +0 -318
  26. data/lib/inspec/cached_fetcher.rb +0 -65
  27. data/lib/inspec/cli.rb +0 -469
  28. data/lib/inspec/completions/bash.sh.erb +0 -45
  29. data/lib/inspec/completions/fish.sh.erb +0 -34
  30. data/lib/inspec/completions/zsh.sh.erb +0 -61
  31. data/lib/inspec/config.rb +0 -511
  32. data/lib/inspec/control_eval_context.rb +0 -248
  33. data/lib/inspec/dependencies/cache.rb +0 -74
  34. data/lib/inspec/dependencies/dependency_set.rb +0 -93
  35. data/lib/inspec/dependencies/lockfile.rb +0 -115
  36. data/lib/inspec/dependencies/requirement.rb +0 -135
  37. data/lib/inspec/dependencies/resolver.rb +0 -86
  38. data/lib/inspec/describe_base.rb +0 -53
  39. data/lib/inspec/dist.rb +0 -20
  40. data/lib/inspec/dsl.rb +0 -115
  41. data/lib/inspec/dsl_shared.rb +0 -32
  42. data/lib/inspec/env_printer.rb +0 -156
  43. data/lib/inspec/errors.rb +0 -18
  44. data/lib/inspec/exceptions.rb +0 -11
  45. data/lib/inspec/expect.rb +0 -42
  46. data/lib/inspec/fetcher.rb +0 -48
  47. data/lib/inspec/fetcher/git.rb +0 -211
  48. data/lib/inspec/fetcher/local.rb +0 -116
  49. data/lib/inspec/fetcher/mock.rb +0 -34
  50. data/lib/inspec/fetcher/url.rb +0 -281
  51. data/lib/inspec/file_provider.rb +0 -318
  52. data/lib/inspec/formatters.rb +0 -3
  53. data/lib/inspec/formatters/base.rb +0 -269
  54. data/lib/inspec/formatters/json_rspec.rb +0 -20
  55. data/lib/inspec/formatters/show_progress.rb +0 -12
  56. data/lib/inspec/globals.rb +0 -9
  57. data/lib/inspec/impact.rb +0 -36
  58. data/lib/inspec/input.rb +0 -421
  59. data/lib/inspec/input_dsl_helpers.rb +0 -26
  60. data/lib/inspec/input_registry.rb +0 -315
  61. data/lib/inspec/library_eval_context.rb +0 -55
  62. data/lib/inspec/log.rb +0 -7
  63. data/lib/inspec/metadata.rb +0 -253
  64. data/lib/inspec/method_source.rb +0 -20
  65. data/lib/inspec/objects.rb +0 -14
  66. data/lib/inspec/objects/control.rb +0 -85
  67. data/lib/inspec/objects/describe.rb +0 -106
  68. data/lib/inspec/objects/each_loop.rb +0 -41
  69. data/lib/inspec/objects/input.rb +0 -49
  70. data/lib/inspec/objects/list.rb +0 -15
  71. data/lib/inspec/objects/or_test.rb +0 -45
  72. data/lib/inspec/objects/ruby_helper.rb +0 -13
  73. data/lib/inspec/objects/tag.rb +0 -32
  74. data/lib/inspec/objects/test.rb +0 -94
  75. data/lib/inspec/objects/value.rb +0 -32
  76. data/lib/inspec/plugin/v1.rb +0 -2
  77. data/lib/inspec/plugin/v1/plugin_types/cli.rb +0 -22
  78. data/lib/inspec/plugin/v1/plugin_types/fetcher.rb +0 -83
  79. data/lib/inspec/plugin/v1/plugin_types/resource.rb +0 -176
  80. data/lib/inspec/plugin/v1/plugin_types/secret.rb +0 -11
  81. data/lib/inspec/plugin/v1/plugin_types/source_reader.rb +0 -36
  82. data/lib/inspec/plugin/v1/plugins.rb +0 -59
  83. data/lib/inspec/plugin/v1/registry.rb +0 -90
  84. data/lib/inspec/plugin/v2.rb +0 -46
  85. data/lib/inspec/plugin/v2/activator.rb +0 -40
  86. data/lib/inspec/plugin/v2/config_file.rb +0 -151
  87. data/lib/inspec/plugin/v2/filter.rb +0 -96
  88. data/lib/inspec/plugin/v2/installer.rb +0 -512
  89. data/lib/inspec/plugin/v2/loader.rb +0 -321
  90. data/lib/inspec/plugin/v2/plugin_base.rb +0 -112
  91. data/lib/inspec/plugin/v2/plugin_types/cli.rb +0 -49
  92. data/lib/inspec/plugin/v2/plugin_types/dsl.rb +0 -11
  93. data/lib/inspec/plugin/v2/plugin_types/input.rb +0 -34
  94. data/lib/inspec/plugin/v2/plugin_types/mock.rb +0 -12
  95. data/lib/inspec/plugin/v2/registry.rb +0 -98
  96. data/lib/inspec/plugin/v2/status.rb +0 -29
  97. data/lib/inspec/profile.rb +0 -658
  98. data/lib/inspec/profile_context.rb +0 -203
  99. data/lib/inspec/profile_vendor.rb +0 -84
  100. data/lib/inspec/reporters.rb +0 -73
  101. data/lib/inspec/reporters/automate.rb +0 -78
  102. data/lib/inspec/reporters/base.rb +0 -25
  103. data/lib/inspec/reporters/cli.rb +0 -370
  104. data/lib/inspec/reporters/json.rb +0 -113
  105. data/lib/inspec/reporters/json_automate.rb +0 -80
  106. data/lib/inspec/reporters/json_min.rb +0 -48
  107. data/lib/inspec/reporters/junit.rb +0 -77
  108. data/lib/inspec/reporters/yaml.rb +0 -20
  109. data/lib/inspec/require_loader.rb +0 -29
  110. data/lib/inspec/resource.rb +0 -114
  111. data/lib/inspec/resources.rb +0 -130
  112. data/lib/inspec/resources/aide_conf.rb +0 -153
  113. data/lib/inspec/resources/apache.rb +0 -47
  114. data/lib/inspec/resources/apache_conf.rb +0 -156
  115. data/lib/inspec/resources/apt.rb +0 -151
  116. data/lib/inspec/resources/audit_policy.rb +0 -64
  117. data/lib/inspec/resources/auditd.rb +0 -251
  118. data/lib/inspec/resources/auditd_conf.rb +0 -45
  119. data/lib/inspec/resources/bash.rb +0 -33
  120. data/lib/inspec/resources/bond.rb +0 -70
  121. data/lib/inspec/resources/bridge.rb +0 -125
  122. data/lib/inspec/resources/bsd_service.rb +0 -2
  123. data/lib/inspec/resources/chocolatey_package.rb +0 -82
  124. data/lib/inspec/resources/command.rb +0 -91
  125. data/lib/inspec/resources/cpan.rb +0 -58
  126. data/lib/inspec/resources/cran.rb +0 -64
  127. data/lib/inspec/resources/crontab.rb +0 -173
  128. data/lib/inspec/resources/csv.rb +0 -56
  129. data/lib/inspec/resources/dh_params.rb +0 -83
  130. data/lib/inspec/resources/directory.rb +0 -23
  131. data/lib/inspec/resources/docker.rb +0 -274
  132. data/lib/inspec/resources/docker_container.rb +0 -91
  133. data/lib/inspec/resources/docker_image.rb +0 -84
  134. data/lib/inspec/resources/docker_object.rb +0 -52
  135. data/lib/inspec/resources/docker_plugin.rb +0 -64
  136. data/lib/inspec/resources/docker_service.rb +0 -91
  137. data/lib/inspec/resources/elasticsearch.rb +0 -165
  138. data/lib/inspec/resources/etc_fstab.rb +0 -96
  139. data/lib/inspec/resources/etc_group.rb +0 -157
  140. data/lib/inspec/resources/etc_hosts.rb +0 -68
  141. data/lib/inspec/resources/etc_hosts_allow.rb +0 -2
  142. data/lib/inspec/resources/etc_hosts_allow_deny.rb +0 -114
  143. data/lib/inspec/resources/etc_hosts_deny.rb +0 -2
  144. data/lib/inspec/resources/file.rb +0 -339
  145. data/lib/inspec/resources/filesystem.rb +0 -139
  146. data/lib/inspec/resources/firewalld.rb +0 -148
  147. data/lib/inspec/resources/gem.rb +0 -80
  148. data/lib/inspec/resources/group.rb +0 -2
  149. data/lib/inspec/resources/groups.rb +0 -241
  150. data/lib/inspec/resources/grub_conf.rb +0 -230
  151. data/lib/inspec/resources/host.rb +0 -310
  152. data/lib/inspec/resources/http.rb +0 -275
  153. data/lib/inspec/resources/iis_app.rb +0 -101
  154. data/lib/inspec/resources/iis_app_pool.rb +0 -127
  155. data/lib/inspec/resources/iis_site.rb +0 -148
  156. data/lib/inspec/resources/iis_website.rb +0 -2
  157. data/lib/inspec/resources/inetd_conf.rb +0 -53
  158. data/lib/inspec/resources/ini.rb +0 -28
  159. data/lib/inspec/resources/interface.rb +0 -204
  160. data/lib/inspec/resources/ip6tables.rb +0 -79
  161. data/lib/inspec/resources/iptables.rb +0 -80
  162. data/lib/inspec/resources/json.rb +0 -116
  163. data/lib/inspec/resources/kernel_module.rb +0 -106
  164. data/lib/inspec/resources/kernel_parameter.rb +0 -54
  165. data/lib/inspec/resources/key_rsa.rb +0 -66
  166. data/lib/inspec/resources/ksh.rb +0 -33
  167. data/lib/inspec/resources/launchd_service.rb +0 -2
  168. data/lib/inspec/resources/limits_conf.rb +0 -45
  169. data/lib/inspec/resources/linux_kernel_parameter.rb +0 -2
  170. data/lib/inspec/resources/login_defs.rb +0 -56
  171. data/lib/inspec/resources/mount.rb +0 -88
  172. data/lib/inspec/resources/mssql_session.rb +0 -117
  173. data/lib/inspec/resources/mysql.rb +0 -81
  174. data/lib/inspec/resources/mysql_conf.rb +0 -128
  175. data/lib/inspec/resources/mysql_session.rb +0 -88
  176. data/lib/inspec/resources/nginx.rb +0 -96
  177. data/lib/inspec/resources/nginx_conf.rb +0 -232
  178. data/lib/inspec/resources/noop.rb +0 -9
  179. data/lib/inspec/resources/npm.rb +0 -68
  180. data/lib/inspec/resources/ntp_conf.rb +0 -51
  181. data/lib/inspec/resources/oneget.rb +0 -71
  182. data/lib/inspec/resources/oracledb_session.rb +0 -149
  183. data/lib/inspec/resources/os.rb +0 -34
  184. data/lib/inspec/resources/os_env.rb +0 -86
  185. data/lib/inspec/resources/package.rb +0 -391
  186. data/lib/inspec/resources/packages.rb +0 -111
  187. data/lib/inspec/resources/parse_config.rb +0 -112
  188. data/lib/inspec/resources/parse_config_file.rb +0 -2
  189. data/lib/inspec/resources/passwd.rb +0 -73
  190. data/lib/inspec/resources/pip.rb +0 -132
  191. data/lib/inspec/resources/platform.rb +0 -112
  192. data/lib/inspec/resources/port.rb +0 -791
  193. data/lib/inspec/resources/postfix_conf.rb +0 -35
  194. data/lib/inspec/resources/postgres.rb +0 -152
  195. data/lib/inspec/resources/postgres_conf.rb +0 -116
  196. data/lib/inspec/resources/postgres_hba_conf.rb +0 -86
  197. data/lib/inspec/resources/postgres_ident_conf.rb +0 -75
  198. data/lib/inspec/resources/postgres_session.rb +0 -70
  199. data/lib/inspec/resources/powershell.rb +0 -67
  200. data/lib/inspec/resources/ppa.rb +0 -2
  201. data/lib/inspec/resources/processes.rb +0 -219
  202. data/lib/inspec/resources/rabbitmq_conf.rb +0 -2
  203. data/lib/inspec/resources/rabbitmq_config.rb +0 -52
  204. data/lib/inspec/resources/registry_key.rb +0 -296
  205. data/lib/inspec/resources/runit_service.rb +0 -2
  206. data/lib/inspec/resources/script.rb +0 -1
  207. data/lib/inspec/resources/security_identifier.rb +0 -91
  208. data/lib/inspec/resources/security_policy.rb +0 -182
  209. data/lib/inspec/resources/service.rb +0 -820
  210. data/lib/inspec/resources/shadow.rb +0 -150
  211. data/lib/inspec/resources/ssh_config.rb +0 -98
  212. data/lib/inspec/resources/sshd_config.rb +0 -2
  213. data/lib/inspec/resources/ssl.rb +0 -99
  214. data/lib/inspec/resources/sys_info.rb +0 -119
  215. data/lib/inspec/resources/systemd_service.rb +0 -2
  216. data/lib/inspec/resources/sysv_service.rb +0 -2
  217. data/lib/inspec/resources/toml.rb +0 -30
  218. data/lib/inspec/resources/upstart_service.rb +0 -2
  219. data/lib/inspec/resources/user.rb +0 -1
  220. data/lib/inspec/resources/users.rb +0 -742
  221. data/lib/inspec/resources/vbscript.rb +0 -67
  222. data/lib/inspec/resources/virtualization.rb +0 -255
  223. data/lib/inspec/resources/windows_feature.rb +0 -126
  224. data/lib/inspec/resources/windows_hotfix.rb +0 -37
  225. data/lib/inspec/resources/windows_registry_key.rb +0 -2
  226. data/lib/inspec/resources/windows_task.rb +0 -112
  227. data/lib/inspec/resources/wmi.rb +0 -109
  228. data/lib/inspec/resources/x509_certificate.rb +0 -143
  229. data/lib/inspec/resources/xinetd_conf.rb +0 -103
  230. data/lib/inspec/resources/xml.rb +0 -48
  231. data/lib/inspec/resources/yaml.rb +0 -42
  232. data/lib/inspec/resources/yum.rb +0 -162
  233. data/lib/inspec/resources/zfs_dataset.rb +0 -62
  234. data/lib/inspec/resources/zfs_pool.rb +0 -50
  235. data/lib/inspec/rspec_extensions.rb +0 -116
  236. data/lib/inspec/rule.rb +0 -389
  237. data/lib/inspec/runner.rb +0 -333
  238. data/lib/inspec/runner_mock.rb +0 -37
  239. data/lib/inspec/runner_rspec.rb +0 -184
  240. data/lib/inspec/runtime_profile.rb +0 -23
  241. data/lib/inspec/schema.rb +0 -245
  242. data/lib/inspec/secrets.rb +0 -15
  243. data/lib/inspec/secrets/yaml.rb +0 -29
  244. data/lib/inspec/shell.rb +0 -211
  245. data/lib/inspec/shell_detector.rb +0 -89
  246. data/lib/inspec/source_reader.rb +0 -26
  247. data/lib/inspec/ui.rb +0 -213
  248. data/lib/inspec/ui_table_helper.rb +0 -12
  249. data/lib/inspec/utils/command_wrapper.rb +0 -23
  250. data/lib/inspec/utils/convert.rb +0 -8
  251. data/lib/inspec/utils/database_helpers.rb +0 -75
  252. data/lib/inspec/utils/deprecation.rb +0 -6
  253. data/lib/inspec/utils/deprecation/config_file.rb +0 -109
  254. data/lib/inspec/utils/deprecation/deprecator.rb +0 -118
  255. data/lib/inspec/utils/deprecation/errors.rb +0 -14
  256. data/lib/inspec/utils/deprecation/global_method.rb +0 -9
  257. data/lib/inspec/utils/enumerable_delegation.rb +0 -7
  258. data/lib/inspec/utils/erlang_parser.rb +0 -190
  259. data/lib/inspec/utils/file_reader.rb +0 -24
  260. data/lib/inspec/utils/filter.rb +0 -461
  261. data/lib/inspec/utils/filter_array.rb +0 -25
  262. data/lib/inspec/utils/find_files.rb +0 -44
  263. data/lib/inspec/utils/hash.rb +0 -37
  264. data/lib/inspec/utils/json_log.rb +0 -15
  265. data/lib/inspec/utils/modulator.rb +0 -9
  266. data/lib/inspec/utils/nginx_parser.rb +0 -101
  267. data/lib/inspec/utils/object_traversal.rb +0 -47
  268. data/lib/inspec/utils/parser.rb +0 -277
  269. data/lib/inspec/utils/pkey_reader.rb +0 -17
  270. data/lib/inspec/utils/simpleconfig.rb +0 -121
  271. data/lib/inspec/utils/spdx.rb +0 -10
  272. data/lib/inspec/utils/spdx.txt +0 -383
  273. data/lib/inspec/utils/telemetry.rb +0 -3
  274. data/lib/inspec/utils/telemetry/collector.rb +0 -81
  275. data/lib/inspec/utils/telemetry/data_series.rb +0 -44
  276. data/lib/inspec/utils/telemetry/global_methods.rb +0 -22
  277. data/lib/inspec/version.rb +0 -3
  278. data/lib/matchers/matchers.rb +0 -341
  279. data/lib/plugins/README.md +0 -16
  280. data/lib/plugins/inspec-artifact/lib/inspec-artifact.rb +0 -12
  281. data/lib/plugins/inspec-artifact/lib/inspec-artifact/base.rb +0 -170
  282. data/lib/plugins/inspec-artifact/lib/inspec-artifact/cli.rb +0 -116
  283. data/lib/plugins/inspec-artifact/test/functional/inspec_artifact_test.rb +0 -50
  284. data/lib/plugins/inspec-compliance/README.md +0 -207
  285. data/lib/plugins/inspec-compliance/lib/inspec-compliance.rb +0 -12
  286. data/lib/plugins/inspec-compliance/lib/inspec-compliance/api.rb +0 -362
  287. data/lib/plugins/inspec-compliance/lib/inspec-compliance/api/login.rb +0 -198
  288. data/lib/plugins/inspec-compliance/lib/inspec-compliance/cli.rb +0 -269
  289. data/lib/plugins/inspec-compliance/lib/inspec-compliance/configuration.rb +0 -103
  290. data/lib/plugins/inspec-compliance/lib/inspec-compliance/http.rb +0 -117
  291. data/lib/plugins/inspec-compliance/lib/inspec-compliance/images/cc-token.png +0 -0
  292. data/lib/plugins/inspec-compliance/lib/inspec-compliance/support.rb +0 -34
  293. data/lib/plugins/inspec-compliance/lib/inspec-compliance/target.rb +0 -146
  294. data/lib/plugins/inspec-compliance/test/functional/inspec_compliance_test.rb +0 -53
  295. data/lib/plugins/inspec-compliance/test/integration/default/cli.rb +0 -91
  296. data/lib/plugins/inspec-compliance/test/unit/api/login_test.rb +0 -190
  297. data/lib/plugins/inspec-compliance/test/unit/api_test.rb +0 -386
  298. data/lib/plugins/inspec-compliance/test/unit/target_test.rb +0 -155
  299. data/lib/plugins/inspec-habitat/Berksfile +0 -5
  300. data/lib/plugins/inspec-habitat/README.md +0 -150
  301. data/lib/plugins/inspec-habitat/kitchen.yml +0 -28
  302. data/lib/plugins/inspec-habitat/lib/inspec-habitat.rb +0 -11
  303. data/lib/plugins/inspec-habitat/lib/inspec-habitat/cli.rb +0 -41
  304. data/lib/plugins/inspec-habitat/lib/inspec-habitat/profile.rb +0 -265
  305. data/lib/plugins/inspec-habitat/templates/habitat/plan.sh.erb +0 -6
  306. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/Berksfile +0 -2
  307. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/README.md +0 -3
  308. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/files/hab_setup.exp +0 -28
  309. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/metadata.rb +0 -9
  310. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/recipes/default.rb +0 -61
  311. data/lib/plugins/inspec-habitat/test/functional/inspec_habitat_test.rb +0 -34
  312. data/lib/plugins/inspec-habitat/test/integration/default/inspec_habitat/README.md +0 -3
  313. data/lib/plugins/inspec-habitat/test/integration/default/inspec_habitat/controls/inspec_habitat.rb +0 -40
  314. data/lib/plugins/inspec-habitat/test/integration/default/inspec_habitat/inspec.yml +0 -10
  315. data/lib/plugins/inspec-habitat/test/support/example_profile/README.md +0 -3
  316. data/lib/plugins/inspec-habitat/test/support/example_profile/controls/example.rb +0 -7
  317. data/lib/plugins/inspec-habitat/test/support/example_profile/inspec.yml +0 -10
  318. data/lib/plugins/inspec-habitat/test/unit/profile_test.rb +0 -242
  319. data/lib/plugins/inspec-init/README.md +0 -31
  320. data/lib/plugins/inspec-init/lib/inspec-init.rb +0 -12
  321. data/lib/plugins/inspec-init/lib/inspec-init/cli.rb +0 -15
  322. data/lib/plugins/inspec-init/lib/inspec-init/cli_plugin.rb +0 -243
  323. data/lib/plugins/inspec-init/lib/inspec-init/cli_profile.rb +0 -47
  324. data/lib/plugins/inspec-init/lib/inspec-init/renderer.rb +0 -97
  325. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/Gemfile +0 -11
  326. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/LICENSE +0 -2
  327. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/README.md +0 -28
  328. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/Rakefile +0 -40
  329. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template.rb +0 -14
  330. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template/cli_command.rb +0 -62
  331. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template/plugin.rb +0 -53
  332. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template/version.rb +0 -8
  333. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/fixtures/README.md +0 -24
  334. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/functional/README.md +0 -12
  335. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/functional/inspec_plugin_template_test.rb +0 -110
  336. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/helper.rb +0 -24
  337. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/unit/README.md +0 -17
  338. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/unit/cli_args_test.rb +0 -67
  339. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/unit/plugin_def_test.rb +0 -51
  340. data/lib/plugins/inspec-init/templates/profiles/aws/libraries/.gitkeep +0 -0
  341. data/lib/plugins/inspec-init/templates/profiles/azure/libraries/.gitkeep +0 -0
  342. data/lib/plugins/inspec-init/templates/profiles/gcp/libraries/.gitkeep +0 -0
  343. data/lib/plugins/inspec-init/templates/profiles/os/README.md +0 -3
  344. data/lib/plugins/inspec-init/templates/profiles/os/controls/example.rb +0 -18
  345. data/lib/plugins/inspec-init/templates/profiles/os/inspec.yml +0 -10
  346. data/lib/plugins/inspec-init/templates/profiles/os/libraries/.gitkeep +0 -0
  347. data/lib/plugins/inspec-init/test/functional/inspec_init_plugin_test.rb +0 -184
  348. data/lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb +0 -121
  349. data/lib/plugins/inspec-plugin-manager-cli/README.md +0 -6
  350. data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli.rb +0 -17
  351. data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/cli_command.rb +0 -518
  352. data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/plugin.rb +0 -12
  353. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/config_dirs/empty/.gitkeep +0 -0
  354. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/plugins/inspec-egg-white-omelette/lib/inspec-egg-white-omelette.rb +0 -2
  355. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/plugins/inspec-egg-white-omelette/lib/inspec-egg-white-omelette/.gitkeep +0 -0
  356. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/plugins/inspec-wrong-structure/.gitkeep +0 -0
  357. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/plugins/wrong-name/lib/wrong-name.rb +0 -1
  358. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/plugins/wrong-name/lib/wrong-name/.gitkeep +0 -0
  359. data/lib/plugins/inspec-plugin-manager-cli/test/functional/help_test.rb +0 -23
  360. data/lib/plugins/inspec-plugin-manager-cli/test/functional/helper.rb +0 -62
  361. data/lib/plugins/inspec-plugin-manager-cli/test/functional/install_test.rb +0 -368
  362. data/lib/plugins/inspec-plugin-manager-cli/test/functional/list_test.rb +0 -101
  363. data/lib/plugins/inspec-plugin-manager-cli/test/functional/search_test.rb +0 -129
  364. data/lib/plugins/inspec-plugin-manager-cli/test/functional/uninstall_test.rb +0 -63
  365. data/lib/plugins/inspec-plugin-manager-cli/test/functional/update_test.rb +0 -84
  366. data/lib/plugins/inspec-plugin-manager-cli/test/unit/cli_args_test.rb +0 -77
  367. data/lib/plugins/inspec-plugin-manager-cli/test/unit/plugin_def_test.rb +0 -39
  368. data/lib/plugins/shared/core_plugin_test_helper.rb +0 -153
  369. data/lib/plugins/things-for-train-integration.rb +0 -14
  370. data/lib/source_readers/flat.rb +0 -36
  371. data/lib/source_readers/inspec.rb +0 -66
@@ -1,125 +0,0 @@
1
- {
2
- "file_version": "1.0.0",
3
- "unknown_group_action": "ignore",
4
- "groups": {
5
- "attrs_value_replaces_default": {
6
- "action": "warn",
7
- "prefix": "The 'default' option for attributes is being replaced by 'value' - please use it instead."
8
- },
9
- "attrs_dsl": {
10
- "action": "ignore",
11
- "comment": "See #3853",
12
- "prefix": "The 'attribute' DSL keyword is being replaced by 'input' - please use it instead."
13
- },
14
- "attrs_rename_in_metadata": {
15
- "action": "ignore",
16
- "comment": "See 3854",
17
- "prefix": "Inputs should be specified by using the 'inputs' key in profile metadata, not 'attributes'."
18
- },
19
- "aws_resources_in_resource_pack": {
20
- "comment": "See #3822",
21
- "action": "warn",
22
- "prefix": "AWS resources shipped with core InSpec are being to moved to a resource pack for faster iteration. Please update your profiles to depend on git@github.com:inspec/inspec-aws.git ."
23
- },
24
- "cli_option_json_config": {
25
- "action": "ignore",
26
- "prefix": "The --json-config option is being replaced by the --config option.",
27
- "comment": "See #3661"
28
- },
29
- "file_resource_be_mounted_matchers": {
30
- "action": "fail_control",
31
- "suffix": "This will not be supported in InSpec 4.0."
32
- },
33
- "host_resource_proto_usage": {
34
- "action": "fail_control",
35
- "suffix": "This will not be supported in InSpec 4.0."
36
- },
37
- "inspec_ui_methods": {
38
- "action": "ignore",
39
- "suffix": "Please call `cli.ui` directly",
40
- "comment": "See #3715"
41
- },
42
- "mssql_session_pass_option": {
43
- "action": "exit",
44
- "suffix": "This will not be supported in InSpec 4.0."
45
- },
46
- "oracledb_session_pass_option": {
47
- "action": "exit",
48
- "suffix": "This is not supported in InSpec 4.0."
49
- },
50
- "property_filesystem_size": {
51
- "action": "warn",
52
- "comment": "See #3778"
53
- },
54
- "property_processes_list": {
55
- "action": "fail_control",
56
- "suffix": "This property was removed in InSpec 4.0."
57
- },
58
- "properties_aws_iam_user": {
59
- "action": "fail_control",
60
- "suffix": "This property was removed in InSpec 4.0."
61
- },
62
- "properties_shadow": {
63
- "action": "fail_control",
64
- "suffix": "This property was removed in InSpec 4.0."
65
- },
66
- "rename_attributes_to_inputs": {
67
- "action": "warn",
68
- "prefix": "InSpec Attributes are being renamed to InSpec Inputs to avoid confusion with Chef Attributes.",
69
- "comment": "See #3802"
70
- },
71
- "resource_apache": {
72
- "action": "exit",
73
- "suffix": "This resource was removed in InSpec 4.0."
74
- },
75
- "resource_azure_generic_resource": {
76
- "action": "warn",
77
- "prefix": "The azure_generic_resource is deprecated. Please use a specific resource. See: 'https://github.com/inspec/inspec/issues/3131'"
78
- },
79
- "resource_iis_website": {
80
- "action": "exit",
81
- "suffix": "This resource was removed in InSpec 4.0.",
82
- "comment": "Needed for ServerSpec compatibility"
83
- },
84
- "resource_linux_kernel_parameter": {
85
- "action": "exit",
86
- "suffix": "This resource was removed in InSpec 4.0.",
87
- "comment": "Needed for ServerSpec compatibility"
88
- },
89
- "resource_ppa": {
90
- "action": "exit",
91
- "suffix": "This resource was removed in InSpec 4.0.",
92
- "comment": "Needed for ServerSpec compatibility"
93
- },
94
- "resource_script": {
95
- "action": "exit",
96
- "suffix": "This resource will be removed in InSpec 4.0"
97
- },
98
- "resource_user_serverspec_compat": {
99
- "action": "fail_control"
100
- },
101
- "resource_windows_registry_key": {
102
- "action": "exit",
103
- "suffix": "This resource was removed in InSpec 4.0.",
104
- "comment": "Needed for ServerSpec compatibility"
105
- },
106
- "serverspec_compatibility": {
107
- "action": "warn",
108
- "suffix": "This is only allowed for compatibility with ServerSpec"
109
- },
110
- "supports_syntax": {
111
- "action": "warn"
112
- },
113
- "mount_parser_serverspec_compat": {
114
- "action": "fail_control"
115
- },
116
- "wmi_non_hash_usage": {
117
- "action": "fail_control",
118
- "suffix": "This property was removed in InSpec 4.0."
119
- },
120
- "object_classes": {
121
- "action": "warn",
122
- "suffix": "These classes will be removed in InSpec 5.0."
123
- }
124
- }
125
- }
@@ -1,45 +0,0 @@
1
- {
2
- "file_version": "1.0.0",
3
- "exclude": [
4
- {
5
- "plugin_name": "inspec-core",
6
- "rationale": "This gem is a stripped-down alternate packaging of InSpec. It is not a plugin."
7
- },
8
- {
9
- "plugin_name": "inspec-bin",
10
- "rationale": "This gem contains the executable for Chef InSpec. It is not a plugin."
11
- },
12
- {
13
- "plugin_name": "inspec-core-bin",
14
- "rationale": "This gem contains the executable for a lightweight version of Chef InSpec. It is not a plugin."
15
- },
16
- {
17
- "plugin_name": "inspec-k8s",
18
- "rationale": "This gem is currently only a placeholder, waiting to be built."
19
- },
20
- {
21
- "plugin_name": "inspec-multi-server",
22
- "rationale": "This gem is a script that attempts to drive a parallel execution of InSpec by wrapping and forking. It is not a plugin."
23
- },
24
- {
25
- "plugin_name": "inspec-release",
26
- "rationale": "This gem is currently only a placeholder, waiting to be built."
27
- },
28
- {
29
- "plugin_name": "train-vault",
30
- "rationale": "This gem is currently only a placeholder, waiting to be built."
31
- },
32
- {
33
- "plugin_name": "train-tax-calculator",
34
- "rationale": "This gem is a tax calculation tool for the Philippines. It has nothing to do the Chef Train remote execution framework, or the InSpec project."
35
- },
36
- {
37
- "plugin_name": "inspec-plugin-example",
38
- "rationale": "This gem is an early self-taught example of a v1 plugin. Please use inspec-resource-lister as an example for PluginV2 development."
39
- },
40
- {
41
- "plugin_name": "train-core",
42
- "rationale": "This gem is a stripped-down alternate packaging of Train. It is not a plugin."
43
- }
44
- ]
45
- }
@@ -1,3 +0,0 @@
1
- # InSpec Bundled Plugins
2
-
3
- This directory contains bundled InSpec plugins. Those plugins are shipped with InSpec temporarily only. Over the next months we are going to stabilize the InSpec Plugin API. Once this API reached stability, all bundled plugins will be externalized.
@@ -1,7 +0,0 @@
1
- # This file has been moved to the v2.0 plugins. This redirect allows for legacy use.
2
- # TODO: Remove in inspec 4.0
3
-
4
- require "plugins/inspec-compliance/lib/inspec-compliance/api"
5
-
6
- # Backport old namespace
7
- Compliance = InspecPlugins::Compliance unless defined?(Compliance)
@@ -1,7 +0,0 @@
1
- # This file has been moved to the v2.0 plugins. This redirect allows for legacy use.
2
- # TODO: Remove in inspec 4.0
3
-
4
- require "plugins/inspec-compliance/lib/inspec-compliance/configuration"
5
-
6
- # Backport old namespace
7
- Compliance = InspecPlugins::Compliance unless defined?(Compliance)
@@ -1,7 +0,0 @@
1
- # This file has been moved to the v2.0 plugins. This redirect allows for legacy use.
2
- # TODO: Remove in inspec 4.0
3
-
4
- require "plugins/inspec-compliance/lib/inspec-compliance/http"
5
-
6
- # Backport old namespace
7
- Compliance = InspecPlugins::Compliance unless defined?(Compliance)
@@ -1,7 +0,0 @@
1
- # This file has been moved to the v2.0 plugins. This redirect allows for legacy use.
2
- # TODO: Remove in inspec 4.0
3
-
4
- require "plugins/inspec-compliance/lib/inspec-compliance/support"
5
-
6
- # Backport old namespace
7
- Compliance = InspecPlugins::Compliance unless defined?(Compliance)
@@ -1,7 +0,0 @@
1
- # This file has been moved to the v2.0 plugins. This redirect allows for legacy use.
2
- # TODO: Remove in inspec 4.0
3
-
4
- require "plugins/inspec-compliance/lib/inspec-compliance/target"
5
-
6
- # Backport old namespace
7
- Compliance = InspecPlugins::Compliance unless defined?(Compliance)
@@ -1,9 +0,0 @@
1
- libdir = File.dirname(__FILE__)
2
- $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
3
-
4
- module Supermarket
5
- autoload :API, "inspec-supermarket/api"
6
- end
7
-
8
- require "inspec-supermarket/cli"
9
- require "inspec-supermarket/target"
@@ -1,45 +0,0 @@
1
- # InSpec Extension for Chef Supermarket
2
-
3
- To use the CLI, this InSpec add-on adds the following commands:
4
-
5
- * `$ inspec supermarket configure` - configures the supermarket server
6
- * `$ inspec supermarket search` - searches for a compliance profile on supermarket
7
- * `$ inspec supermarket exec nathenharvey/tmp-compliance-profile` - extends execute to load the profile
8
-
9
- Compliance profiles from Supermarket can be executed in two ways:
10
-
11
- - via supermarket exec: `inspec supermarket exec nathenharvey/tmp-compliance-profile`
12
- - via supermarket scheme: `inspec exec supermarket://nathenharvey/tmp-compliance-profile`
13
-
14
- ## Usage
15
-
16
- ```
17
- $ inspec supermarket
18
- Commands:
19
- inspec supermarket exec PROFILE # execute a Supermarket profile
20
- inspec supermarket help [COMMAND] # Describe subcommands or one specific subcommand
21
- inspec supermarket info PROFILE # display Supermarket profile details
22
- inspec supermarket profiles # list all available profiles in Chef Supermarket
23
-
24
- $ inspec supermarket profiles
25
- Available profiles:
26
- -------------------
27
- * nathenharvey/tmp-compliance-profile
28
- * hardening/os-hardening
29
- * hardening/ssh-hardening
30
-
31
- $ inspec supermarket info hardening/os-hardening
32
- name: os-hardening
33
- owner: hardening
34
- url: https://github.com/dev-sec/tests-os-hardening
35
-
36
- description: Base Linux Compliance profile, used for Security + DevOps. More Information is available at http://dev-sec.io/
37
-
38
- $ inspec exec supermarket://hardening/os-hardening
39
- ........F.F.................F......FFF.....FFFF.F........FF....FFFFFFF...FF.FFFFFF.FFFFFFFFFFF.F...
40
-
41
- ...
42
-
43
- Finished in 3.81 seconds (files took 5.69 seconds to load)
44
- 99 examples, 40 failures
45
- ```
@@ -1,87 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "net/http"
4
- require "addressable/uri"
5
-
6
- module Supermarket
7
- class API
8
- SUPERMARKET_URL = "https://supermarket.chef.io"
9
-
10
- # displays a list of profiles
11
- def self.profiles(supermarket_url = SUPERMARKET_URL)
12
- url = "#{supermarket_url}/api/v1/tools-search"
13
- _success, data = get(url, { type: "compliance_profile", items: 100 })
14
- if !data.nil?
15
- profiles = JSON.parse(data)
16
- profiles["items"].map do |x|
17
- m = %r{^#{supermarket_url}/api/v1/tools/(?<slug>[\w-]+)(/)?$}.match(x["tool"])
18
- x["slug"] = m[:slug]
19
- x
20
- end
21
- else
22
- []
23
- end
24
- end
25
-
26
- def self.profile_name(profile)
27
- # We use Addressable::URI here because URI has a bug in Ruby 2.1.x where it doesn't allow underscore in host
28
- uri = Addressable::URI.parse profile
29
- [uri.host, uri.path[1..-1]]
30
- rescue
31
- nil
32
- end
33
-
34
- # displays profile infos
35
- def self.info(profile, supermarket_url = SUPERMARKET_URL)
36
- _tool_owner, tool_name = profile_name("supermarket://#{profile}")
37
- return if tool_name.nil? || tool_name.empty?
38
-
39
- # Tool name in Supermarket URL is downcased so we need to downcase
40
- url = "#{supermarket_url}/api/v1/tools/#{tool_name.downcase}"
41
- _success, data = get(url, {})
42
- JSON.parse(data) unless data.nil?
43
- rescue JSON::ParserError
44
- nil
45
- end
46
-
47
- # compares a profile with the supermarket tool info
48
- def self.same?(profile, supermarket_tool, supermarket_url = SUPERMARKET_URL)
49
- tool_owner, tool_name = profile_name(profile)
50
-
51
- raise "Could not parse tool name from #{profile}" if tool_name.nil?
52
-
53
- # Tool name in Supermarket URL is downcased so we need to downcase
54
- tool = "#{supermarket_url}/api/v1/tools/#{tool_name.downcase}"
55
- supermarket_tool["tool_owner"] == tool_owner && supermarket_tool["tool"] == tool
56
- end
57
-
58
- def self.find(profile, supermarket_url = SUPERMARKET_URL)
59
- profiles = Supermarket::API.profiles(supermarket_url)
60
- return if profiles.empty?
61
-
62
- index = profiles.index { |t| same?(profile, t, supermarket_url) }
63
- # return profile or nil
64
- profiles[index] if !index.nil? && index >= 0
65
- end
66
-
67
- # verifies that a profile exists
68
- def self.exist?(profile, supermarket_url = SUPERMARKET_URL)
69
- !find(profile, supermarket_url).nil?
70
- end
71
-
72
- def self.get(url, params)
73
- uri = URI.parse(url)
74
- uri.query = URI.encode_www_form(params)
75
- req = Net::HTTP::Get.new(uri)
76
- send_request(uri, req)
77
- end
78
-
79
- def self.send_request(uri, req)
80
- # send request
81
- res = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") do |http|
82
- http.request(req)
83
- end
84
- [res.is_a?(Net::HTTPSuccess), res.body]
85
- end
86
- end
87
- end
@@ -1,71 +0,0 @@
1
- require "inspec/base_cli"
2
-
3
- module Supermarket
4
- class SupermarketCLI < Inspec::BaseCLI
5
- namespace "supermarket"
6
-
7
- # TODO: find another solution, once https://github.com/erikhuda/thor/issues/261 is fixed
8
- def self.banner(command, _namespace = nil, _subcommand = false)
9
- "#{basename} #{subcommand_prefix} #{command.usage}"
10
- end
11
-
12
- def self.subcommand_prefix
13
- namespace
14
- end
15
-
16
- desc "profiles", "list all available profiles in Chef Supermarket"
17
- def profiles
18
- # display profiles in format user/profile
19
- supermarket_profiles = Supermarket::API.profiles
20
-
21
- headline("Available profiles:")
22
- supermarket_profiles.each do |p|
23
- li("#{p["tool_name"]} #{mark_text(p["tool_owner"] + "/" + p["slug"])}")
24
- end
25
- end
26
-
27
- desc "exec PROFILE", "execute a Supermarket profile"
28
- exec_options
29
- def exec(*tests)
30
- o = config
31
- diagnose(o)
32
- configure_logger(o)
33
-
34
- # iterate over tests and add compliance scheme
35
- tests = tests.map { |t| "supermarket://" + t }
36
-
37
- runner = Inspec::Runner.new(o)
38
- tests.each { |target| runner.add_target(target) }
39
-
40
- exit runner.run
41
- rescue ArgumentError, RuntimeError, Train::UserError => e
42
- $stderr.puts e.message
43
- exit 1
44
- end
45
-
46
- desc "info PROFILE", "display Supermarket profile details"
47
- def info(profile)
48
- # check that the profile is available
49
- supermarket_profiles = Supermarket::API.profiles
50
- found = supermarket_profiles.select do |p|
51
- profile == "#{p["tool_owner"]}/#{p["slug"]}"
52
- end
53
-
54
- if found.empty?
55
- puts "#{mark_text(profile)} is not available on Supermarket"
56
- return
57
- end
58
-
59
- # load details for the specific profile
60
- info = Supermarket::API.info(profile)
61
- puts "#{mark_text("name: ")} #{info["slug"]}"
62
- puts "#{mark_text("owner:")} #{info["owner"]}"
63
- puts "#{mark_text("url: ")} #{info["source_url"]}"
64
- puts
65
- puts "#{mark_text("description: ")} #{info["description"]}"
66
- end
67
- end
68
-
69
- # register the subcommand to InSpec CLI registry
70
- Inspec::Plugins::CLI.add_subcommand(SupermarketCLI, "supermarket", "supermarket SUBCOMMAND ...", "Supermarket commands", {})
71
- end
@@ -1,31 +0,0 @@
1
- require "uri"
2
- require "inspec/fetcher"
3
- require "inspec/fetcher/url"
4
-
5
- # InSpec Target Helper for Supermarket
6
- module Supermarket
7
- class Fetcher < Inspec.fetcher(1)
8
- name "supermarket"
9
- priority 500
10
-
11
- def self.resolve(target, opts = {})
12
- supermarket_uri, supermarket_server = if target.is_a?(String) && URI(target).scheme == "supermarket"
13
- [target, Supermarket::API::SUPERMARKET_URL]
14
- elsif target.respond_to?(:key?) && target.key?(:supermarket)
15
- supermarket_server = target[:supermarket_url] || Supermarket::API::SUPERMARKET_URL
16
- ["supermarket://#{target[:supermarket]}", supermarket_server]
17
- end
18
- return nil unless supermarket_uri
19
- return nil unless Supermarket::API.exist?(supermarket_uri, supermarket_server)
20
-
21
- tool_info = Supermarket::API.find(supermarket_uri, supermarket_server)
22
- resolve_next(tool_info["tool_source_url"], opts)
23
- rescue URI::Error
24
- nil
25
- end
26
-
27
- def to_s
28
- "Chef Compliance Profile Loader"
29
- end
30
- end
31
- end