Plugins
Plugins are the source of all logic used in building a config. They can perform one of several tasks:
- Generating configuration inventory lists for clients
- Generating configuration entry contents for clients
- Probing client-side state (like hardware inventory, etc) -- the generic client probing mechanism is described here?.
- Automating administrative tasks (SSHbase automates ssh key management)
- Generating client per-entry installation decision-lists
Enabling Plugins
In order for the bcfg2 server to use a plugin, it needs to be listed in bcfg2.conf. If a plugin should be used to build configuration inventory lists, it should be added to the structures line. If a plugin should be used in generating configuration entry contents for clients, it should be listed as a generator. A single plugin can be listed in multiple categories.
Default Plugins
The Bcfg2 repository has the default plugin list currently distributed with Bcfg2: https://trac.mcs.anl.gov/projects/bcfg2/browser/trunk/bcfg2/src/lib/Server/Plugins.
All Plugins
- Plugins/Account
- Plugins/Actions
- Plugins/Base
- Plugins/Bundler
- Plugins/Bundler/examples
- Plugins/Bundler/examples/kernel.xml
- Plugins/Bundler/examples/moab.xml
- Plugins/Bundler/examples/nagios.xml
- Plugins/Bundler/examples/ntp.xml
- Plugins/Bundler/examples/snmpd.xml
- Plugins/Bundler/examples/torque.xml
- Plugins/Bundler/examples/yp.xml
- Plugins/Bzr
- Plugins/Cfg
- Plugins/Decisions
- Plugins/Deps
- Plugins/Fossil
- Plugins/Git
- Plugins/GroupPatterns
- Plugins/Hostbase
- Plugins/Metadata
- Plugins/NagiosGen
- Plugins/Ohai
- Plugins/Packages
- Plugins/Pkgmgr
- Plugins/Probes
- Plugins/Probes/examples
- Plugins/Probes/examples/current-kernel
- Plugins/Probes/examples/group
- Plugins/Probes/examples/grub-serial-order
- Plugins/Probes/examples/manufacturer
- Plugins/Probes/examples/producttype
- Plugins/Probes/examples/serial-console-speed
- Plugins/Properties
- Plugins/Rules
- Plugins/SGenshi
- Plugins/SSHbase
- Plugins/Snapshots
- Plugins/Svn
- Plugins/TCheetah
- Plugins/TGenshi
- Plugins/TGenshi/examples
- Plugins/TGenshi/examples/bcfg2_cron
- Plugins/TGenshi/examples/clients.xml
- Plugins/TGenshi/examples/ganglia
- Plugins/TGenshi/examples/grub.conf
- Plugins/TGenshi/examples/hosts
- Plugins/TGenshi/examples/iptables
- Plugins/TGenshi/examples/motd
- Plugins/TGenshi/examples/my.cnf
- Plugins/TGenshi/examples/test
- Plugins/Trigger
Metadata (Grouping)
Each of these plugins has a corresponding subdirectory with the same name in the Bcfg2 repository.
Abstract Configuration (Structures)
Each of these plugins has a corresponding subdirectory with the same name in the Bcfg2 repository.
Literal Configuration (Generators)
- Account
- Actions (Client Plugin)
- Cfg
- Decisions
- Deps
- Hostbase
- NagiosGen
- Packages
- Pkgmgr
- Rules
- SSHbase
- Svcmgr (Deprecated - see Rules)
- TCheetah
- TGenshi
Each of these plugins has a corresponding subdirectory with the same name in the Bcfg2 repository.
Statistics Plugins
- DBStats? (direct to db statistics plugin, new in 0.9.6)
- Statistics? (default)
DBStats can be enabled by adding the following line to /etc/bcfg2.conf:
plugins = DBStats
Version Plugins
Plugin Roles (in 1.0)
In version 1.0, plugins have been refactored into a series of roles. This are fine-grained plugin capabilities that govern how the server core interacts with plugins.
More details can be found in bcfg2/trunk/doc/plugin-roles (testing: Roles?)