summaryrefslogtreecommitdiffstats
path: root/doc/client/index.txt
blob: 536bedfbbacc0a8770ed21939a95bc8b38f80026 (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
.. -*- mode: rst -*-

.. _client-index:

The Bcfg2 Client
================

The Bcfg2 client is responsible for determining what reconfiguration
operations must be undertaken on the client, but does not perform
any processing of the target configuration description. We chose this
architecture, as opposed to one with a smarter client, for a few reasons:

* Client failure forces administrators to perform an O(n) reconfiguration
  operation. Simpler code is easier to debug and maintain.
* Minimize the bootstrap size; a complicated client can require more
  aspects of the system to function in order for reconfiguration to work.
* Isolate configuration generation functionality on the server, where
  it can be readily observed. This is the most complicated task that
  Bcfg2 performs.
* The results of the configuration process fit a fairly simple model. We
  wanted to validate it. The result is that Bcfg2 has a programmable
  deployment engine that can be driven by anything that writes a
  compatible configuration description.

.. toctree::
   :maxdepth: 2

   agent
   debugging
   metadata
   modes

.. toctree::
   :maxdepth: 2
   :glob:

   tools/*