/usr/share/doc/reclass-doc/html/index.html is in reclass-doc 1.4.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>reclass — Recursive external node classification — reclass 1.4.1 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.4.1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="reclass 1.4.1 documentation" href="#" />
<link rel="next" title="Installation" href="install.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="install.html" title="Installation"
accesskey="N">next</a> |</li>
<li><a href="#">reclass</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="reclass-recursive-external-node-classification">
<h1>reclass — Recursive external node classification<a class="headerlink" href="#reclass-recursive-external-node-classification" title="Permalink to this headline">¶</a></h1>
<p><strong>reclass</strong> is an “external node classifier” (ENC) as can be used with
automation tools, such as <a class="reference external" href="http://puppetlabs.com/puppet/puppet-open-source">Puppet</a>, <a class="reference external" href="http://saltstack.com/community">Salt</a>, and <a class="reference external" href="http://www.ansibleworks.com">Ansible</a>. It is also
a stand-alone tool for merging data sources recursively.</p>
<p>The purpose of an ENC is to allow a system administrator to maintain an
inventory of nodes to be managed, completely separately from the configuration
of the automation tool. Usually, the external node classifier completely
replaces the tool-specific inventory (such as <tt class="docutils literal"><span class="pre">site.pp</span></tt> for Puppet,
<tt class="docutils literal"><span class="pre">ext_pillar</span></tt>/<tt class="docutils literal"><span class="pre">master_tops</span></tt> for Salt, or <tt class="docutils literal"><span class="pre">/etc/ansible/hosts</span></tt>).</p>
<p>With respect to the configuration management tool, the ENC then fulfills two
jobs:</p>
<ul class="simple">
<li>it provides information about groups of nodes and group memberships</li>
<li>it gives access to node-specific information, such as variables</li>
</ul>
<p><strong>reclass</strong> allows you to define your nodes through class inheritance, while
always able to override details further up the tree (i.e. in more specific
nodes). Think of classes as feature sets, as commonalities between nodes, or
as tags. Add to that the ability to nest classes (multiple inheritance is
allowed, well-defined, and encouraged), and you can assemble your
infrastructure from smaller bits, eliminating duplication and exposing all
important parameters to a single location, logically organised. And if that
isn’t enough, <strong>reclass</strong> lets you reference other parameters in the very
hierarchy you are currently assembling.</p>
<div class="section" id="releases-and-source-code">
<h2>Releases and source code<a class="headerlink" href="#releases-and-source-code" title="Permalink to this headline">¶</a></h2>
<p>The latest released <strong>reclass</strong> version is 1.4.1. Please have a look at the
<a class="reference internal" href="changelog.html"><em>change log</em></a> for information about recent changes.</p>
<p>For now, <strong>reclass</strong> is hosted <a class="reference external" href="https://github.com/madduck/reclass">on Github</a>, and you may clone it with the
following command:</p>
<div class="highlight-python"><div class="highlight"><pre>git clone https://github.com/madduck/reclass.git
</pre></div>
</div>
<p>Please see the <a class="reference internal" href="install.html"><em>install instructions</em></a> for information about
distribution packages and tarballs.</p>
</div>
<div class="section" id="community">
<h2>Community<a class="headerlink" href="#community" title="Permalink to this headline">¶</a></h2>
<p>There is a <a class="reference external" href="http://lists.pantsfullofunix.net/listinfo/reclass">mailing list</a>, where you can bring up anything related to
<strong>reclass</strong>.</p>
<p>For real-time communication, please join the <tt class="docutils literal"><span class="pre">#reclass</span></tt> IRC channel on
<tt class="docutils literal"><span class="pre">irc.oftc.net</span></tt>.</p>
<p>If you’re using <a class="reference external" href="http://saltstack.com/community">Salt</a>, you can also ask your <strong>reclass</strong>-and-Salt-related
questions on the mailing list, ideally specifying “reclass” in the subject of
your message.</p>
</div>
<div class="section" id="licence">
<h2>Licence<a class="headerlink" href="#licence" title="Permalink to this headline">¶</a></h2>
<p><strong>reclass</strong> is © 2007–2014 by martin f. krafft and released under the terms of
the <a class="reference external" href="http://opensource.org/licenses/Artistic-2.0">Artistic Licence 2.0</a>.</p>
</div>
<div class="section" id="contents">
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline">¶</a></h2>
<p>These documents aim to get you started with <strong>reclass</strong>:</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="install.html">Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="install.html#for-debian-users-including-ubuntu">For Debian users (including Ubuntu)</a></li>
<li class="toctree-l2"><a class="reference internal" href="install.html#for-archlinux-users">For ArchLinux users</a></li>
<li class="toctree-l2"><a class="reference internal" href="install.html#other-distributions">Other distributions</a></li>
<li class="toctree-l2"><a class="reference internal" href="install.html#from-source">From source</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="concepts.html">reclass concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="operations.html">reclass operations</a><ul>
<li class="toctree-l2"><a class="reference internal" href="operations.html#yaml-fs-storage">YAML FS storage</a></li>
<li class="toctree-l2"><a class="reference internal" href="operations.html#data-merging">Data merging</a></li>
<li class="toctree-l2"><a class="reference internal" href="operations.html#wildcard-regexp-mappings">Wildcard/Regexp mappings</a></li>
<li class="toctree-l2"><a class="reference internal" href="operations.html#parameter-interpolation">Parameter interpolation</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="usage.html">Using reclass</a></li>
<li class="toctree-l1"><a class="reference internal" href="refs.html">External references</a></li>
<li class="toctree-l1"><a class="reference internal" href="manpage.html">reclass manpage</a><ul>
<li class="toctree-l2"><a class="reference internal" href="manpage.html#synopsis">Synopsis</a></li>
<li class="toctree-l2"><a class="reference internal" href="manpage.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="manpage.html#options">Options</a></li>
<li class="toctree-l2"><a class="reference internal" href="manpage.html#see-also">See also</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="configfile.html">reclass configuration file</a></li>
<li class="toctree-l1"><a class="reference internal" href="salt.html">Using reclass with Salt</a><ul>
<li class="toctree-l2"><a class="reference internal" href="salt.html#quick-start">Quick start</a></li>
<li class="toctree-l2"><a class="reference internal" href="salt.html#configuration-file-and-master-configuration">Configuration file and master configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="salt.html#integration-with-salt">Integration with Salt</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="ansible.html">Using reclass with Ansible</a><ul>
<li class="toctree-l2"><a class="reference internal" href="ansible.html#quick-start-with-ansible">Quick start with Ansible</a></li>
<li class="toctree-l2"><a class="reference internal" href="ansible.html#integration-with-ansible">Integration with Ansible</a></li>
<li class="toctree-l2"><a class="reference internal" href="ansible.html#variable-interpolation">Variable interpolation</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="puppet.html">Using reclass with Puppet</a></li>
<li class="toctree-l1"><a class="reference internal" href="hacking.html">Hacking on reclass</a><ul>
<li class="toctree-l2"><a class="reference internal" href="hacking.html#installation">Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="hacking.html#discussing-reclass">Discussing reclass</a></li>
<li class="toctree-l2"><a class="reference internal" href="hacking.html#contributing-to-reclass">Contributing to reclass</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="todo.html">reclass to-do list</a><ul>
<li class="toctree-l2"><a class="reference internal" href="todo.html#common-set-of-classes">Common set of classes</a></li>
<li class="toctree-l2"><a class="reference internal" href="todo.html#testing-framework">Testing framework</a></li>
<li class="toctree-l2"><a class="reference internal" href="todo.html#configurable-file-extension">Configurable file extension</a></li>
<li class="toctree-l2"><a class="reference internal" href="todo.html#verbosity-debugging">Verbosity, debugging</a></li>
<li class="toctree-l2"><a class="reference internal" href="todo.html#data-from-cms-for-interpolation">Data from CMS for interpolation</a></li>
<li class="toctree-l2"><a class="reference internal" href="todo.html#membership-information">Membership information</a></li>
<li class="toctree-l2"><a class="reference internal" href="todo.html#configuration-file-lookup-improvements">Configuration file lookup improvements</a></li>
<li class="toctree-l2"><a class="reference internal" href="todo.html#adapter-class-hierarchy">Adapter class hierarchy</a></li>
<li class="toctree-l2"><a class="reference internal" href="todo.html#node-lists">Node lists</a></li>
<li class="toctree-l2"><a class="reference internal" href="todo.html#inventory-filters">Inventory filters</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="changelog.html">ChangeLog</a></li>
</ul>
</div>
</div>
<div class="section" id="about-the-name">
<h2>About the name<a class="headerlink" href="#about-the-name" title="Permalink to this headline">¶</a></h2>
<p>“reclass” stands for <strong>r</strong>ecursive <strong>e</strong>xternal node <strong>class</strong>ifier,
which is somewhat of a misnomer. I chose the name very early on, based on the
recursive nature of the data merging. However, to the user, a better paradigm
would be “hierarchical”, as s/he does not and should not care too much about
the implementation internals. By the time that I realised this, unfortunately,
<a class="reference external" href="http://projects.puppetlabs.com/projects/hiera">Hiera</a> (Puppet-specific) had already occupied this prefix. Oh well. Once you
start using <strong>reclass</strong>, you’ll think recursively as well as hierarchically at
the same time. It’s really quite simple.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h3><a href="#">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">reclass — Recursive external node classification</a><ul>
<li><a class="reference internal" href="#releases-and-source-code">Releases and source code</a></li>
<li><a class="reference internal" href="#community">Community</a></li>
<li><a class="reference internal" href="#licence">Licence</a></li>
<li><a class="reference internal" href="#contents">Contents</a></li>
<li><a class="reference internal" href="#about-the-name">About the name</a></li>
</ul>
</li>
</ul>
<h4>Next topic</h4>
<p class="topless"><a href="install.html"
title="next chapter">Installation</a></p>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="install.html" title="Installation"
>next</a> |</li>
<li><a href="#">reclass</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2013, martin f. krafft.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
</div>
</body>
</html>
|