diff --git a/Makefile.am b/Makefile.am
index 51270a0596274be47f58ca87809a9ed1b8aac71c..651d462e483f91d931148472cb9ec43dc2f99f88 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -236,6 +236,7 @@ EXTRA_DIST = \
 man_MANS = \
 	man/ganeti.7 \
 	man/ganeti-cleaner.8 \
+	man/ganeti-confd.8 \
 	man/ganeti-masterd.8 \
 	man/ganeti-noded.8 \
 	man/ganeti-os-interface.7 \
diff --git a/man/ganeti-confd.sgml b/man/ganeti-confd.sgml
new file mode 100644
index 0000000000000000000000000000000000000000..373a24cb25447ade5d6baa6efdc771721fe42a8f
--- /dev/null
+++ b/man/ganeti-confd.sgml
@@ -0,0 +1,116 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>October 21, 2009</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
+  <!ENTITY dhucpackage "<refentrytitle>ganeti-confd</refentrytitle>">
+  <!ENTITY dhpackage   "ganeti-confd">
+
+  <!ENTITY debian      "<productname>Debian</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+  <!ENTITY footer SYSTEM "footer.sgml">
+]>
+
+<refentry>
+  <refentryinfo>
+    <copyright>
+      <year>2009</year>
+      <holder>Google Inc.</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+    <refmiscinfo>ganeti 2.1</refmiscinfo>
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>ganeti conf daemon</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage; </command>
+      <arg>-f</arg>
+      <arg>-d</arg>
+
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para>
+      <command>&dhpackage;</command> is a daemon used to answer queries related
+      to the configuration of a Ganeti cluster.
+    </para>
+
+    <para>
+      For testing purposes, you can give the <option>-f</option>
+      option and the program won't detach from the running terminal.
+    </para>
+
+    <para>
+      Debug-level message can be activated by giving the
+      <option>-d</option> option.
+    </para>
+    <refsect2>
+      <title>ROLE</title>
+      <para>
+        The role of the conf daemon is to make sure we have a highly available
+        and very fast way to query cluster configuration values. This daemon is
+        automatically active on all master candidates, and so has no single
+        point of failure. It communicates via UDP so each query can easily be
+        sent to multiple servers, and it answers queries from a cached copy of
+        the config it keeps in memory, so no disk access is required to get an
+        answer.
+      </para>
+
+      <para>
+        The config is reloaded from disk automatically when it changes, with a
+        rate limit of once per second.
+      </para>
+
+      <para>
+        If the conf daemon is stopped on all nodes, its clients won't be able
+        to get query answers.
+      </para>
+    </refsect2>
+
+    <refsect2>
+      <title>COMMUNICATION PROTOCOL</title>
+      <para>
+        The confd protocol is an HMAC authenticated json-encoded custom format,
+        over UDP. A client library is provided to make it easy to write
+        software to query confd. More information can be found in the Ganeti
+        2.1 design doc, and an example usage can be seen in the (external) nbma
+        daemon for ganeti.
+      </para>
+    </refsect2>
+
+  </refsect1>
+
+  &footer;
+
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->