InSpec Plugin Example
This repository provides an example of building a version 2 plugin for use with InSpec. It was built following the instructions from the Developing InSpec Plugins for the v2 plugin API instructions.
Requirements
This has been built with Ruby 2.5.1 and InSpec 3.0. It most likely works with InSpec 2.3 and later its versions of Ruby.
Installation
inspec-plugin-example
is a plugin for InSpec and may be installed by following the Developing InSpec Plugins for the v2 plugin API instructions.
~/.inspec/plugins.json
When developing this plugin, this was the contents of my ~/.inspec/plugins.json
{
"plugins_config_version" : "1.0.0",
"plugins": [
{
"name": "inspec-plugin-example",
"installation_type": "path",
"installation_path": "/Users/mattray/ws/inspec-plugin-example/lib/inspec-plugin-example.rb"
}
]
}
Usage
inspec example control
inspec example help
inspec example version
inspec example2 second
Code Examples
lib/inspec-plugin-example.rb
Entry point for the plugin code.
lib/inspec-plugin-example/plugin.rb
Declares example
and example2
as InSpec subcommands within the inspec-plugin-example
namespace.
lib/inspec-plugin-example/cli.rb
Defines the example
and example2
CliCommands for use with InSpec.
lib/inspec-plugin-example/control.rb
Example of calling another module from a CliCommand used by inspec example control
lib/inspec-plugin-example/second.rb
Example of a second CliCommand used by inspec example2 control
lib/inspec-plugin-example/version.rb
The version of the plugin may be defined and exposed with inspec example version
Code
Uses the .rubocop.yml
from InSpec for code formatting.