]> err.no Git - varnish/commitdiff
Thursday morning's work.
authordes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Thu, 23 Feb 2006 11:36:27 +0000 (11:36 +0000)
committerdes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Thu, 23 Feb 2006 11:36:27 +0000 (11:36 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@19 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-doc/en/varnish-specification/article.xml

index ce3fb48683ca598d1da0437eeafc0bd3bceec682..7cee30f5a44f26b3221fe385a96c649214d1d23c 100644 (file)
@@ -9,7 +9,7 @@
     <title>Varnish HTTP Accelerator Draft Specification</title>
   </articleinfo>
 
-  <chapter>
+  <section>
     <title>Introduction</title>
 
     <section>
@@ -44,9 +44,9 @@
       tuning facility (split in two? does this overlap with
       configuration facility?)</para>
     </section>
-  </chapter>
+  </section>
 
-  <chapter>
+  <section>
     <title>General requirements</title>
 
     <section>
        </orderedlist>
       </section>
     </section>
-  </chapter>
+  </section>
 
-  <chapter>
+  <section>
     <title>Functional requirements</title>
 
     <section>
     <section>
       <title>Management</title>
 
+      <section>
+       <title>Management interface</title>
+
+       <para>Varnish must provide an interface for external
+       management utilities.  This interface must accept connections
+       on a Unix socket and / or a TCP socket, depending on
+       configuration.</para>
+
+       <para>Varnish may assume that the management interface is
+       adequately protected by socket permissions or firewall rules,
+       as applicable, and that any data it receives through this
+       interface is valid management data from an authorized
+       administrator.</para>
+
+       <para>Varnish may further assume that all data received
+       through the management interface is well-formed and
+       meaningful.</para>
+      </section>
+
+      <section>
+       <title>Management library</title>
+
+       <para>Varnish must be accompanied by a C library, hereafter
+       referred to as the management library, which provides a
+       reasonably high-level API to the management interface</para>
+
+       <para>Varnish should be accompanied by a Perl library which
+       provides Perl bindings to the management library.</para>
+
+       <para>Varnish may be accompanied by libraries which provide
+       appropriate bindings to the management library for other
+       programming or scripting languages.</para>
+      </section>
+
+      <section>
+       <title>CLI management tool</title>
+
+       <para>Varnish must be accompanied by a CLI management tool,
+       written in C, which serves as a front-end to the management
+       library.</para>
+
+       <para>The CLI management tool must allow management commands
+       to be passed on the command line.</para>
+
+       <para>In addition, the CLI management tool should offer an
+       interactive mode using libreadline, libedit or a similar
+       line-editing library.</para>
+      </section>
+
+      <section>
+       <title>Web-based management tool</title>
+
+       <para>Varnish should be accompanied by a web-based management
+       tool.  This tool should have the ability to generate graphs
+       and histograms based on the data described in <xref
+       linkend="sect.logging-statistics"/>.</para>
+      </section>
+
+      <section>
+       <title>Plugins for third-party tools</title>
+
+       <para>Varnish may be accompanied by plugins for third-party
+       management tools such as Munin, Nagios and NAV.</para>
+      </section>
+
       <section>
        <title>Configuration</title>
 
        <para>XXX</para>
       </section>
 
-      <section>
+      <section id="sect.logging-statistics">
        <title>Logging and statistics</title>
 
        <para>A separate application is responsible for collecting,
 
        <para>Varnish must provide the data necessary to compute
        lifetime totals and sliding averages for the following:</para>
+
        <orderedlist>
          <listitem>
            <para>Total size of documents served to clients</para>
        <para>In addition, Varnish must provide the data necessary to
        compute the average, median and distribution for the
        following:</para>
+
        <orderedlist>
          <listitem>
            <para>Size of documents served, per unique document</para>
       configuration, serving data from the same content servers to the
       same set of clients.</para>
 
+      <section>
+       <title>Management</title>
+
+       <para>Varnish must be accompanied by a multiplexer for the
+       management interface which provide a single point of access to
+       the entire cluster for management tools such as the CLI
+       management tool or a web-based management interface.</para>
+
+       <para>The management protocol must be designed to allow
+       management commands to be targeted at individual nodes.  The
+       default behaviour must be to propagate management commands to
+       all nodes in the cluster.</para>
+      </section>
+
       <section>
        <title>Configuration</title>
 
        servers in the cluster.</para>
       </section>
     </section>
-  </chapter>
+  </section>
 
-  <chapter>
+  <section>
     <title>Application structure</title>
 
     <section>
        log data to the Logger.</para>
       </section>
     </section>
-  </chapter>
+  </section>
 
   <bibliography>
     <title>References</title>
 
-    <biblioentry id="RFC2119"/>
-    <biblioentry id="RFC2186"/>
-    <biblioentry id="RFC2616"/>
-    <biblioentry id="RFC2756"/>
+    <bibliomixed id="RFC2119"/>
+    <bibliomixed id="RFC2186"/>
+    <bibliomixed id="RFC2616"/>
+    <bibliomixed id="RFC2756"/>
   </bibliography>
 </article>