summaryrefslogtreecommitdiffstats
path: root/doc/plugins/index.txt
blob: 0d46fc102e8323851b238c581686f3e56e382b17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
.. -*- mode: rst -*-

=======
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 :doc:`probes`.
#. Automating administrative tasks (e.g. :doc:`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`_ has the default plugin list currently distributed with Bcfg2: http://trac.mcs.anl.gov/projects/bcfg2/browser/trunk/bcfg2/src/lib/Server/Plugins.

.. _Bcfg2 repository: http://trac.mcs.anl.gov/projects/bcfg2/browser/trunk/bcfg2/src/lib/Server/Plugins.

Metadata (Grouping)
-------------------

* :doc:`bb`
* :doc:`metadata`

Each of these plugins has a corresponding subdirectory with the same name in the Bcfg2 repository.

Abstract Configuration (Structures)
-----------------------------------

* :doc:`base`
* :doc:`bundler`

Each of these plugins has a corresponding subdirectory with the same name in the Bcfg2 repository.

Literal Configuration (Generators)
----------------------------------

* :doc:`account`
* :doc:`actions`
* :doc:`cfg`
* :doc:`decisions`
* :doc:`deps`
* :doc:`hostbase`
* :doc:`nagiosgen`
* :doc:`packages`
* :doc:`pkgmgr`
* :doc:`rules`
* :doc:`sshbase`
* :doc:`tcheetah`
* :doc:`tgenshi`

Each of these plugins has a corresponding subdirectory with the same name in the Bcfg2 repository.

Statistics Plugins
------------------

* :doc:`dbstats`
* :doc:`statistics`

DBStats can be enabled by adding it to the plugins line in /etc/bcfg2.conf.

Version Plugins
---------------

* :doc:`bzr`
* :doc:`fossil`
* :doc:`git`
* :doc:`svn`

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 :doc:`plugin-roles`