www.nico.schottelius.org/software/cdist/man/2.1.0pre8/man7/cdist-reference.html

240 lines
12 KiB
HTML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!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>cdist-reference(7)</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.77.1" /></head><body><div xml:lang="en" class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="idp197824"></a>cdist-reference(7)</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Nico</span> <span class="surname">Schottelius</span></h3><code class="email">&lt;<a class="email" href="mailto:nico-cdist--@--schottelius.org">nico-cdist--@--schottelius.org</a>&gt;</code></div></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="#_name">1. NAME</a></span></dt><dt><span class="section"><a href="#_explorers">2. EXPLORERS</a></span></dt><dt><span class="section"><a href="#_paths">3. PATHS</a></span></dt><dt><span class="section"><a href="#_types">4. TYPES</a></span></dt><dt><span class="section"><a href="#_objects">5. OBJECTS</a></span></dt><dt><span class="section"><a href="#_environment_variables">6. ENVIRONMENT VARIABLES</a></span></dt><dt><span class="section"><a href="#_see_also">7. SEE ALSO</a></span></dt><dt><span class="section"><a href="#_copying">8. COPYING</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_name"></a>1. NAME</h2></div></div></div><p>cdist-reference - Variable, path and type reference for cdist</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_explorers"></a>2. EXPLORERS</h2></div></div></div><p>The following global explorers are available:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
hostname
</li><li class="listitem">
interfaces
</li><li class="listitem">
lsb_codename
</li><li class="listitem">
lsb_description
</li><li class="listitem">
lsb_id
</li><li class="listitem">
lsb_release
</li><li class="listitem">
machine
</li><li class="listitem">
os
</li><li class="listitem">
os_version
</li><li class="listitem">
runlevel
</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_paths"></a>3. PATHS</h2></div></div></div><p>If not specified otherwise, all paths are relative to the checkout directory.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
conf/
</span></dt><dd>
Contains the (static) configuration like manifests, types and explorers.
</dd><dt><span class="term">
conf/manifest/init
</span></dt><dd>
This is the central entry point.
It is an executable (+x bit set) shell script that can use
values from the explorers to decide which configuration to create
for the specified target host.
Its intent is to used to define mapping from configurations to hosts.
</dd><dt><span class="term">
conf/manifest/*
</span></dt><dd>
All other files in this directory are not directly used by cdist, but you
can seperate configuration mappings, if you have a lot of code in the
conf/manifest/init file. This may also be helpful to have different admins
maintain different groups of hosts.
</dd><dt><span class="term">
conf/explorer/&lt;name&gt;
</span></dt><dd>
Contains explorers to be run on the target hosts, see cdist-explorer(7).
</dd><dt><span class="term">
conf/type/
</span></dt><dd>
Contains all available types, which are used to provide
some kind of functionality. See cdist-type(7).
</dd><dt><span class="term">
conf/type/&lt;name&gt;/
</span></dt><dd><p class="simpara">
Home of the type &lt;name&gt;.
</p><pre class="literallayout">This directory is referenced by the variable __type (see below).</pre></dd><dt><span class="term">
conf/type/&lt;name&gt;/man.text
</span></dt><dd>
Manpage in Asciidoc format (required for inclusion into upstream)
</dd><dt><span class="term">
conf/type/&lt;name&gt;/manifest
</span></dt><dd>
Used to generate additional objects from a type.
</dd><dt><span class="term">
conf/type/&lt;name&gt;/gencode-local
</span></dt><dd>
Used to generate code to be executed on the source host
</dd><dt><span class="term">
conf/type/&lt;name&gt;/gencode-remote
</span></dt><dd>
Used to generate code to be executed on the target host
</dd><dt><span class="term">
conf/type/&lt;name&gt;/parameter/required
</span></dt><dd>
Parameters required by type, \n seperated list.
</dd><dt><span class="term">
conf/type/&lt;name&gt;/parameter/optional
</span></dt><dd>
Parameters optionally accepted by type, \n seperated list.
</dd><dt><span class="term">
conf/type/&lt;name&gt;/parameter/boolean
</span></dt><dd>
Boolean parameters accepted by type, \n seperated list.
</dd><dt><span class="term">
conf/type/&lt;name&gt;/explorer
</span></dt><dd>
Location of the type specific explorers.
This directory is referenced by the variable __type_explorer (see below).
See cdist-explorer(7).
</dd><dt><span class="term">
out/
</span></dt><dd>
This directory contains output of cdist and is usually located
in a temporary directory and thus will be removed after the run.
This directory is referenced by the variable __global (see below).
</dd><dt><span class="term">
out/explorer
</span></dt><dd>
Output of general explorers.
</dd><dt><span class="term">
out/object
</span></dt><dd>
Objects created for the host.
</dd><dt><span class="term">
out/object/&lt;object&gt;
</span></dt><dd>
Contains all object specific information.
This directory is referenced by the variable __object (see below).
</dd><dt><span class="term">
out/object/&lt;object&gt;/explorers
</span></dt><dd>
Output of type specific explorers, per object.
</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_types"></a>4. TYPES</h2></div></div></div><p>The following types are available:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
__apt_ppa (cdist-type__apt_ppa(7))
</li><li class="listitem">
__apt_update_index (cdist-type__apt_update_index(7))
</li><li class="listitem">
__cdistmarker (cdist-type__cdistmarker(7))
</li><li class="listitem">
__cron (cdist-type__cron(7))
</li><li class="listitem">
__debconf_set_selections (cdist-type__debconf_set_selections(7))
</li><li class="listitem">
__directory (cdist-type__directory(7))
</li><li class="listitem">
__file (cdist-type__file(7))
</li><li class="listitem">
__group (cdist-type__group(7))
</li><li class="listitem">
__issue (cdist-type__issue(7))
</li><li class="listitem">
__jail (cdist-type__jail(7))
</li><li class="listitem">
__key_value (cdist-type__key_value(7))
</li><li class="listitem">
__line (cdist-type__line(7))
</li><li class="listitem">
__link (cdist-type__link(7))
</li><li class="listitem">
__motd (cdist-type__motd(7))
</li><li class="listitem">
__mysql_database (cdist-type__mysql_database(7))
</li><li class="listitem">
__package_apt (cdist-type__package_apt(7))
</li><li class="listitem">
__package_luarocks (cdist-type__package_luarocks(7))
</li><li class="listitem">
__package_opkg (cdist-type__package_opkg(7))
</li><li class="listitem">
__package_pacman (cdist-type__package_pacman(7))
</li><li class="listitem">
__package_pip (cdist-type__package_pip(7))
</li><li class="listitem">
__package_pkg_freebsd (cdist-type__package_pkg_freebsd(7))
</li><li class="listitem">
__package_pkg_openbsd (cdist-type__package_pkg_openbsd(7))
</li><li class="listitem">
__package_rubygem (cdist-type__package_rubygem(7))
</li><li class="listitem">
__package (cdist-type__package(7))
</li><li class="listitem">
__package_yum (cdist-type__package_yum(7))
</li><li class="listitem">
__package_zypper (cdist-type__package_zypper(7))
</li><li class="listitem">
__pf_apply (cdist-type__pf_apply(7))
</li><li class="listitem">
__pf_ruleset (cdist-type__pf_ruleset(7))
</li><li class="listitem">
__postgres_database (cdist-type__postgres_database(7))
</li><li class="listitem">
__postgres_role (cdist-type__postgres_role(7))
</li><li class="listitem">
__process (cdist-type__process(7))
</li><li class="listitem">
__qemu_img (cdist-type__qemu_img(7))
</li><li class="listitem">
__rvm_gemset (cdist-type__rvm_gemset(7))
</li><li class="listitem">
__rvm_gem (cdist-type__rvm_gem(7))
</li><li class="listitem">
__rvm_ruby (cdist-type__rvm_ruby(7))
</li><li class="listitem">
__rvm (cdist-type__rvm(7))
</li><li class="listitem">
__ssh_authorized_key (cdist-type__ssh_authorized_key(7))
</li><li class="listitem">
__start_on_boot (cdist-type__start_on_boot(7))
</li><li class="listitem">
__timezone (cdist-type__timezone(7))
</li><li class="listitem">
__user (cdist-type__user(7))
</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_objects"></a>5. OBJECTS</h2></div></div></div><p>For object to object communication and tests, the following paths are
usable within a object directory:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
changed
</span></dt><dd>
This empty file exists in an object directory, if the object has
code to be excuted (either remote or local)
</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_environment_variables"></a>6. ENVIRONMENT VARIABLES</h2></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
__explorer
</span></dt><dd>
Directory that contains all global explorers.
Available for: explorer, type explorer
</dd><dt><span class="term">
__manifest
</span></dt><dd>
Directory that contains the initial manifest.
Available for: initial manifest, type manifest
</dd><dt><span class="term">
__global
</span></dt><dd>
Directory that contains generic output like explorer.
Available for: initial manifest, type manifest, type gencode
</dd><dt><span class="term">
__object
</span></dt><dd>
Directory that contains the current object.
Available for: type manifest, type explorer, type gencode
</dd><dt><span class="term">
__object_id
</span></dt><dd><p class="simpara">
The type unique object id.
Available for: type manifest, type explorer, type gencode
</p><pre class="literallayout">Note: The leading and the trailing "/" will always be stripped (caused by
the filesystem database and ensured by the core).</pre><pre class="literallayout"> Note: Double slashes ("//") will not be fixed and result in an error.
__object_name::
The full qualified name of the current object.
Available for: type manifest, type explorer, type gencode
__target_host::
The host we are deploying to.
Available for: explorer, initial manifest, type explorer, type manifest, type gencode
__type::
Path to the current type.
Available for: type manifest, type gencode
__type_explorer::
Directory that contains the type explorers.
Available for: type explorer</pre></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_see_also"></a>7. SEE ALSO</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
cdist(1)
</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_copying"></a>8. COPYING</h2></div></div></div><p>Copyright (C) 2011-2012 Nico Schottelius. Free use of this software is
granted under the terms of the GNU General Public License version 3 (GPLv3).</p></div></div></body></html>