summaryrefslogtreecommitdiffstats
path: root/doc/development/plugins.txt
diff options
context:
space:
mode:
authorFabian Affolter <fabian@bernewireless.net>2010-11-09 00:15:43 +0100
committerFabian Affolter <fabian@bernewireless.net>2010-11-09 00:15:43 +0100
commit391406c85d86dc931f3fdb2483a14d0f1e7e6355 (patch)
tree97fe00f6a9dcf5d821139766b213418d57b5d31b /doc/development/plugins.txt
parent553c693618321fad2a88030b16d42d3253befaec (diff)
downloadbcfg2-391406c85d86dc931f3fdb2483a14d0f1e7e6355.tar.gz
bcfg2-391406c85d86dc931f3fdb2483a14d0f1e7e6355.tar.bz2
bcfg2-391406c85d86dc931f3fdb2483a14d0f1e7e6355.zip
doc: Massive update
Diffstat (limited to 'doc/development/plugins.txt')
-rw-r--r--doc/development/plugins.txt45
1 files changed, 45 insertions, 0 deletions
diff --git a/doc/development/plugins.txt b/doc/development/plugins.txt
new file mode 100644
index 000000000..b6debba24
--- /dev/null
+++ b/doc/development/plugins.txt
@@ -0,0 +1,45 @@
+.. -*- mode: rst -*-
+
+.. _development-plugins:
+
+Bcfg2 Plugin development
+------------------------
+
+While the Bcfg2 server provides a good interface for representing
+general system configurations, its plugin interface offers the ability
+to implement configuration interfaces and representation tailored to
+problems encountered by a particular site. This chapter describes what
+plugins are good for, what they can do, and how to implement them.
+
+Bcfg2 Plugins
+^^^^^^^^^^^^^
+
+Bcfg2 plugins are loadable python modules that the Bcfg2 server loads at
+initialization time. These plugins can contribute to the functions already
+offered by the Bcfg2 server or can extend its functionality. In general,
+plugins will provide some portion of the configuration for clients, with a
+data representation that is tuned for a set of common tasks. Much of the
+core functionality of Bcfg2 is implemented by several plugins, however,
+they are not special in any way; new plugins could easily supplant one
+or all of them.
+
+The following table describes the various functions of bcfg2 plugins.
+
++--------------------+---------------------------------------------+
+| Name | Description |
++====================+=============================================+
+| Probes | Plugins can issue commands to collect |
+| | client-side state (like hardware inventory) |
+| | to include in client configurations |
++--------------------+---------------------------------------------+
+| ConfigurationEntry | Plugins can construct a list of per-client |
+| List | configuration entry lists to include in |
+| | client configurations. |
++--------------------+---------------------------------------------+
+| ConfigurationEntry | Literal values for configuration entries |
+| contents | |
++--------------------+---------------------------------------------+
+| XML-RPC functions | Plugins can export function calls that |
+| | expose internal functions. |
++--------------------+---------------------------------------------+
+