summaryrefslogtreecommitdiffstats
path: root/doc/server/plugins/grouping/metadata.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/server/plugins/grouping/metadata.txt')
-rw-r--r--doc/server/plugins/grouping/metadata.txt42
1 files changed, 40 insertions, 2 deletions
diff --git a/doc/server/plugins/grouping/metadata.txt b/doc/server/plugins/grouping/metadata.txt
index 5a437756a..88bb0c460 100644
--- a/doc/server/plugins/grouping/metadata.txt
+++ b/doc/server/plugins/grouping/metadata.txt
@@ -107,6 +107,44 @@ but that is deprecated.
For detailed information on client authentication see
:ref:`appendix-guides-authentication`
+================
+Clients Database
+================
+
+.. versionadded:: 1.3.0
+
+It is also possible to store client records in a database rather than
+writing back to ``clients.xml``. This provides several advantages:
+
+* ``clients.xml`` will never be written by the server, removing an
+ area of contention between the user and server.
+* ``clients.xml`` can be removed entirely for many sites.
+* The Bcfg2 client list can be queried by other machines without
+ obtaining and parsing ``clients.xml``.
+* A single client list can be shared amongst multiple Bcfg2 servers.
+
+In general, storing clients in the database works almost the same as
+``clients.xml``. ``groups.xml`` is parsed identically. If
+``clients.xml`` is present, it is parsed, but ``<Client>`` tags in
+``clients.xml`` *do not* assert client existence; they are only used
+to set client options *if* the client exists (in the database). That
+is, the two purposes of ``clients.xml`` -- to track which clients
+exist, and to set client options -- have been separated.
+
+With the improvements in ``groups.xml`` parsing in 1.3, client groups
+can now be set directly in ``groups.xml`` with ``<Client>`` tags. (See
+:ref:`metadata-client-tag` for more details.) As a result,
+``clients.xml`` is only necessary if you need to set
+options (e.g., aliases, floating clients, per-client passwords, etc.)
+on clients.
+
+To use the database backend instead of ``clients.xml``, set
+``use_database`` in the ``[metadata]`` section of ``bcfg2.conf`` to
+``true``. You will also need to configure the :ref:`Global Server
+Database Settings <server-database>`.
+
+The ``clients.xml``-based model remains the default.
+
Metadata/groups.xml
===================
@@ -161,8 +199,8 @@ profile group would be a member of the ``apache-server``,
Client tags in ``groups.xml`` allow you to supplement the profile
group declarations in ``clients.xml`` and/or client group assignments
with the :ref:`server-plugins-grouping-grouppatterns` plugin. They
-should be used sparingly. (They are more useful with the
-:ref:`server-plugins-grouping-dbmetadata` plugin.)
+should be used sparingly. (They are more useful when you are using
+the database backend for client records.)
You can also declare that a group should be negated; this allows you
to set defaults and override them efficiently. Negation is applied