.. -*- mode: rst -*- .. _server-plugins-index: ======= 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 at :ref:`server-plugins-probes-index`. #. Automating administrative tasks (e.g. :ref:`server-plugins-generators-sshbase` which 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 on the *plugins* line in ``bcfg2.conf``. Default Plugins =============== The `Bcfg2 repository`_ contains the all plugins currently distributed with Bcfg2. .. _Bcfg2 repository: https://github.com/Bcfg2/bcfg2/tree/maint/src/lib/Bcfg2/Server/Plugins Metadata (Grouping) ------------------- .. toctree:: :maxdepth: 1 :glob: grouping/* Each of these plugins has a corresponding subdirectory with the same name in the Bcfg2 repository. Abstract Configuration (Structures) ----------------------------------- .. toctree:: :maxdepth: 1 :glob: structures/bundler/index structures/* Each of these plugins has a corresponding subdirectory with the same name in the Bcfg2 repository. Literal Configuration (Generators) ---------------------------------- .. toctree:: :maxdepth: 1 :glob: generators/* Each of these plugins has a corresponding subdirectory with the same name in the Bcfg2 repository. Connector Plugins ----------------- .. toctree:: :maxdepth: 1 :glob: connectors/* Statistics Plugins ------------------ .. toctree:: :maxdepth: 1 :glob: statistics/* Reporting can be enabled by adding it to the plugins line in ``/etc/bcfg2.conf``. Version Plugins --------------- .. toctree:: :maxdepth: 1 :glob: version/* Miscellaneous Plugins --------------------- .. toctree:: :maxdepth: 1 :glob: misc/* 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 :ref:`server-plugins-plugin-roles` .. toctree:: :hidden: plugin-roles probes/index