summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/development/fam.txt72
-rw-r--r--doc/server/plugins/generators/packages.txt13
2 files changed, 82 insertions, 3 deletions
diff --git a/doc/development/fam.txt b/doc/development/fam.txt
new file mode 100644
index 000000000..c2c3b14f5
--- /dev/null
+++ b/doc/development/fam.txt
@@ -0,0 +1,72 @@
+.. -*- mode: rst -*-
+
+.. _development-fam:
+
+==========================
+ File Monitor Development
+==========================
+
+Bcfg2 depends heavily on file activity monitoring (FAM) to reload data
+from disk when it changes. A number of FAM backends are supported
+(documented thoroughly below), but you may wish to develop additional
+backends. For instance, the current best FAM backend on Linux is
+INotify, but if you are running a non-Linux system that lacks INotify
+support you may wish to write a backend for your OS (e.g., a kqueue
+backend for BSD-based Bcfg2 servers). This page documents the FAM API
+and the existing FAM backends.
+
+.. _development-fam-event-codes:
+
+Event Codes
+===========
+
+Five event codes are generally understood:
+
++----------+-----------------------------------------------------------+
+| Event | Description |
++==========+===========================================================+
+| exists | Produced when a monitor is added to a file or directory |
+| | that exists, and produced for all files or directories |
+| | inside a directory that is monitored (non-recursively). |
++----------+-----------------------------------------------------------+
+| endExist | Produced immediately after ``exists``. No plugins should |
+| | process this event meaningfully, so FAM backends do not |
+| | need to produce it. |
++----------+-----------------------------------------------------------+
+| created | Produced when a file is created inside a monitored |
+| | directory. |
++----------+-----------------------------------------------------------+
+| changed | Produced when a monitored file, or a file inside a |
+| | monitored directory, is changed. |
++----------+-----------------------------------------------------------+
+| deleted | Produced when a monitored file, or a file inside a |
+| | monitored directory, is deleted. |
++----------+-----------------------------------------------------------+
+
+Basics
+======
+
+.. automodule:: Bcfg2.Server.FileMonitor
+
+Existing FAM Backends
+=====================
+
+Pseudo
+------
+
+.. automodule:: Bcfg2.Server.FileMonitor.Pseudo
+
+Fam
+---
+
+.. automodule:: Bcfg2.Server.FileMonitor.Fam
+
+Gamin
+-----
+
+.. automodule:: Bcfg2.Server.FileMonitor.Gamin
+
+Inotify
+-------
+
+.. automodule:: Bcfg2.Server.FileMonitor.Inotify
diff --git a/doc/server/plugins/generators/packages.txt b/doc/server/plugins/generators/packages.txt
index f0abf4af2..352c88f43 100644
--- a/doc/server/plugins/generators/packages.txt
+++ b/doc/server/plugins/generators/packages.txt
@@ -571,9 +571,16 @@ Pulp Support
.. versionadded:: 1.2.0
Bcfg2 contains explicit support for repositories managed by Pulp
-(http://pulpproject.org/). Due to the amount of data about a
-repository that can be retrieved directly from Pulp, the only thing
-necessary to configure a Pulp repo is the repo ID:
+(http://pulpproject.org/).
+
+.. note::
+
+ Only the Pulp 1.x API is supported at this time. When the Pulp
+ 2.x API is finalized support will be added for it.
+
+Due to the amount of data about a repository that can be retrieved
+directly from Pulp, the only thing necessary to configure a Pulp repo
+is the repo ID:
.. code-block:: xml