Ohai plugins
Ohai comes with a few plugins by default. These plugins form the ecosystem of Ohai and help collect diverse information about the machine. Some of the plugins provide information specific to an operating system, while some of the plugins are specific to languages, and some are specific to platforms. Let's look at a few of them before we move ahead into writing our own custom plugins.
Take a sneak peek into the plugins
directory (usually, found in $GEMS_PATH/gems/ohai-xxx/lib/ohai/plugins
) and you'll find a bunch of Ruby files lying around.
Some of the useful plugins are kernel, hostname, platform, network, ohai, cloud, ec2, azure, virtualization, languages, and more.
All these plugins are meant to perform a certain task and emit attributes that can be useful for the purpose of the chef-client run.
These plugins are loaded by $GEMS_PATH/gems/ohai-xxx/lib/ohai/system.rb
when we invoke the ohai
command.
Some of these plugins are meant to perform different actions, depending on the platform...