summaryrefslogtreecommitdiffstats
path: root/doc/unsorted/development_writing_plugins.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/unsorted/development_writing_plugins.txt')
-rw-r--r--doc/unsorted/development_writing_plugins.txt77
1 files changed, 77 insertions, 0 deletions
diff --git a/doc/unsorted/development_writing_plugins.txt b/doc/unsorted/development_writing_plugins.txt
new file mode 100644
index 000000000..89b1af28a
--- /dev/null
+++ b/doc/unsorted/development_writing_plugins.txt
@@ -0,0 +1,77 @@
+.. -*- mode: rst -*-
+
+.. _unsorted-development_writing_plugins:
+
+===============
+Writing Plugins
+===============
+
+Server Plugin Types
+===================
+
+Generator
+---------
+
+Generator plugins contribute to literal client configurations
+
+Structure
+---------
+
+Structure Plugins contribute to abstract client configurations
+
+Metadata
+--------
+
+Signal metadata capabilities
+
+Connector
+---------
+
+Connector Plugins augment client metadata instances
+
+Probing
+-------
+
+Signal probe capability
+
+Statistics
+----------
+
+Signal statistics handling capability
+
+Decision
+--------
+
+Signal decision handling capability
+
+Version
+-------
+
+Interact with various version control systems
+
+Writing Server Plugins
+======================
+
+Metadata
+--------
+
+If you would like to define your own Metadata plugin (to extend/change functionality of the existing Metadata plugin), here are the steps to do so. We will call our new plugin `MyMetadata`.
+
+#. Add MyMetadata.py
+
+ .. code-block:: python
+
+ __revision__ = '$Revision$'
+
+ import Bcfg2.Server.Plugins.Metadata
+
+ class MyMetadata(Bcfg2.Server.Plugins.Metadata.Metadata):
+ '''This class contains data for bcfg2 server metadata'''
+ __version__ = '$Id$'
+ __author__ = 'bcfg-dev@mcs.anl.gov'
+
+ def __init__(self, core, datastore, watch_clients=True):
+ Bcfg2.Server.Plugins.Metadata.Metadata.__init__(self, core, datastore, watch_clients)
+
+#. Add MyMetadata to `src/lib/Server/Plugins/__init__.py`
+#. Replace Metadata with MyMetadata in the plugins line of bcfg2.conf