348 lines
No EOL
16 KiB
HTML
348 lines
No EOL
16 KiB
HTML
<?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.78.1" /></head><body><div xml:lang="en" class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="idm140498959598144"></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"><<a class="email" href="mailto:nico-cdist--@--schottelius.org">nico-cdist--@--schottelius.org</a>></code></div></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><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_for_reading">6. ENVIRONMENT VARIABLES (FOR READING)</a></span></dt><dt><span class="section"><a href="#_environment_variables_for_writing">7. ENVIRONMENT VARIABLES (FOR WRITING)</a></span></dt><dt><span class="section"><a href="#_see_also">8. SEE ALSO</a></span></dt><dt><span class="section"><a href="#_copying">9. 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">
|
||
disks
|
||
</li><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><div class="variablelist"><dl class="variablelist"><dt><span class="term">
|
||
$HOME/.cdist
|
||
</span></dt><dd>
|
||
The standard cdist configuration directory relative to your home directory
|
||
This is usually the place you want to store your site specific configuration
|
||
</dd><dt><span class="term">
|
||
cdist/conf/
|
||
</span></dt><dd>
|
||
The distribution configuration directory
|
||
This contains types and explorers to be used
|
||
</dd><dt><span class="term">
|
||
confdir
|
||
</span></dt><dd>
|
||
Cdist will use all available configuration directories and create
|
||
a temporary confdir containing links to the real configuration directories.
|
||
This way it is possible to merge configuration directories.
|
||
By default it consists of everything in $HOME/.cdist and cdist/conf/.
|
||
For more details see cdist(1)
|
||
</dd><dt><span class="term">
|
||
confdir/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">
|
||
confdir/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">
|
||
confdir/explorer/<name>
|
||
</span></dt><dd>
|
||
Contains explorers to be run on the target hosts, see cdist-explorer(7).
|
||
</dd><dt><span class="term">
|
||
confdir/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">
|
||
confdir/type/<name>/
|
||
</span></dt><dd>
|
||
Home of the type <name>.
|
||
This directory is referenced by the variable __type (see below).
|
||
</dd><dt><span class="term">
|
||
confdir/type/<name>/man.text
|
||
</span></dt><dd>
|
||
Manpage in Asciidoc format (required for inclusion into upstream)
|
||
</dd><dt><span class="term">
|
||
confdir/type/<name>/manifest
|
||
</span></dt><dd>
|
||
Used to generate additional objects from a type.
|
||
</dd><dt><span class="term">
|
||
confdir/type/<name>/gencode-local
|
||
</span></dt><dd>
|
||
Used to generate code to be executed on the source host
|
||
</dd><dt><span class="term">
|
||
confdir/type/<name>/gencode-remote
|
||
</span></dt><dd>
|
||
Used to generate code to be executed on the target host
|
||
</dd><dt><span class="term">
|
||
confdir/type/<name>/parameter/required
|
||
</span></dt><dd>
|
||
Parameters required by type, \n seperated list.
|
||
</dd><dt><span class="term">
|
||
confdir/type/<name>/parameter/optional
|
||
</span></dt><dd>
|
||
Parameters optionally accepted by type, \n seperated list.
|
||
</dd><dt><span class="term">
|
||
confdir/type/<name>/parameter/default/*
|
||
</span></dt><dd>
|
||
Default values for optional parameters.
|
||
Assuming an optional parameter name of <span class="emphasis"><em>foo</em></span>, it’s default value would
|
||
be read from the file confdir/type/<name>/parameter/default/foo.
|
||
</dd><dt><span class="term">
|
||
confdir/type/<name>/parameter/boolean
|
||
</span></dt><dd>
|
||
Boolean parameters accepted by type, \n seperated list.
|
||
</dd><dt><span class="term">
|
||
confdir/type/<name>/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">
|
||
confdir/type/<name>/files
|
||
</span></dt><dd>
|
||
This directory is reserved for user data and will not be used
|
||
by cdist at any time. It can be used for storing supplementary
|
||
files (like scripts to act as a template or configuration files).
|
||
</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/<object>
|
||
</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/<object>/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_key (cdist-type__apt_key(7))
|
||
</li><li class="listitem">
|
||
__apt_key_uri (cdist-type__apt_key_uri(7))
|
||
</li><li class="listitem">
|
||
__apt_norecommends (cdist-type__apt_norecommends(7))
|
||
</li><li class="listitem">
|
||
__apt_ppa (cdist-type__apt_ppa(7))
|
||
</li><li class="listitem">
|
||
__apt_source (cdist-type__apt_source(7))
|
||
</li><li class="listitem">
|
||
__block (cdist-type__block(7))
|
||
</li><li class="listitem">
|
||
__ccollect_source (cdist-type__ccollect_source(7))
|
||
</li><li class="listitem">
|
||
__cdist (cdist-type__cdist(7))
|
||
</li><li class="listitem">
|
||
__chroot_mount (cdist-type__chroot_mount(7))
|
||
</li><li class="listitem">
|
||
__chroot_umount (cdist-type__chroot_umount(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">
|
||
__git (cdist-type__git(7))
|
||
</li><li class="listitem">
|
||
__group (cdist-type__group(7))
|
||
</li><li class="listitem">
|
||
__hostname (cdist-type__hostname(7))
|
||
</li><li class="listitem">
|
||
__install_bootloader_grub (cdist-type__install_bootloader_grub(7))
|
||
</li><li class="listitem">
|
||
__install_chroot_mount (cdist-type__install_chroot_mount(7))
|
||
</li><li class="listitem">
|
||
__install_chroot_umount (cdist-type__install_chroot_umount(7))
|
||
</li><li class="listitem">
|
||
__install_config (cdist-type__install_config(7))
|
||
</li><li class="listitem">
|
||
__install_file (cdist-type__install_file(7))
|
||
</li><li class="listitem">
|
||
__install_fstab (cdist-type__install_fstab(7))
|
||
</li><li class="listitem">
|
||
__install_generate_fstab (cdist-type__install_generate_fstab(7))
|
||
</li><li class="listitem">
|
||
__install_mkfs (cdist-type__install_mkfs(7))
|
||
</li><li class="listitem">
|
||
__install_mount (cdist-type__install_mount(7))
|
||
</li><li class="listitem">
|
||
__install_partition_msdos (cdist-type__install_partition_msdos(7))
|
||
</li><li class="listitem">
|
||
__install_partition_msdos_apply (cdist-type__install_partition_msdos_apply(7))
|
||
</li><li class="listitem">
|
||
__install_reboot (cdist-type__install_reboot(7))
|
||
</li><li class="listitem">
|
||
__install_reset_disk (cdist-type__install_reset_disk(7))
|
||
</li><li class="listitem">
|
||
__install_stage (cdist-type__install_stage(7))
|
||
</li><li class="listitem">
|
||
__install_umount (cdist-type__install_umount(7))
|
||
</li><li class="listitem">
|
||
__iptables_apply (cdist-type__iptables_apply(7))
|
||
</li><li class="listitem">
|
||
__iptables_rule (cdist-type__iptables_rule(7))
|
||
</li><li class="listitem">
|
||
__jail (cdist-type__jail(7))
|
||
</li><li class="listitem">
|
||
__line (cdist-type__line(7))
|
||
</li><li class="listitem">
|
||
__locale (cdist-type__locale(7))
|
||
</li><li class="listitem">
|
||
__mount (cdist-type__mount(7))
|
||
</li><li class="listitem">
|
||
__package_emerge (cdist-type__package_emerge(7))
|
||
</li><li class="listitem">
|
||
__package_emerge_dependencies (cdist-type__package_emerge_dependencies(7))
|
||
</li><li class="listitem">
|
||
__package_zypper (cdist-type__package_zypper(7))
|
||
</li><li class="listitem">
|
||
__pf_ruleset (cdist-type__pf_ruleset(7))
|
||
</li><li class="listitem">
|
||
__postfix (cdist-type__postfix(7))
|
||
</li><li class="listitem">
|
||
__postfix_master (cdist-type__postfix_master(7))
|
||
</li><li class="listitem">
|
||
__postfix_postconf (cdist-type__postfix_postconf(7))
|
||
</li><li class="listitem">
|
||
__postfix_postmap (cdist-type__postfix_postmap(7))
|
||
</li><li class="listitem">
|
||
__postfix_reload (cdist-type__postfix_reload(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">
|
||
__rvm (cdist-type__rvm(7))
|
||
</li><li class="listitem">
|
||
__rvm_gem (cdist-type__rvm_gem(7))
|
||
</li><li class="listitem">
|
||
__rvm_gemset (cdist-type__rvm_gemset(7))
|
||
</li><li class="listitem">
|
||
__rvm_ruby (cdist-type__rvm_ruby(7))
|
||
</li><li class="listitem">
|
||
__start_on_boot (cdist-type__start_on_boot(7))
|
||
</li><li class="listitem">
|
||
__update_alternatives (cdist-type__update_alternatives(7))
|
||
</li><li class="listitem">
|
||
__user (cdist-type__user(7))
|
||
</li><li class="listitem">
|
||
__zypper_repo (cdist-type__zypper_repo(7))
|
||
</li><li class="listitem">
|
||
__zypper_service (cdist-type__zypper_service(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">
|
||
files
|
||
</span></dt><dd>
|
||
This directory is reserved for user data and will not be used
|
||
by cdist at any time. It can be used freely by the type
|
||
(for instance to store template results).
|
||
</dd><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><dt><span class="term">
|
||
stdin
|
||
</span></dt><dd>
|
||
This file exists and contains data, if data was provided on stdin
|
||
when the type was called.
|
||
</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_environment_variables_for_reading"></a>6. ENVIRONMENT VARIABLES (FOR READING)</h2></div></div></div><p>The following environment variables are exported by cdist:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
|
||
__explorer
|
||
</span></dt><dd>
|
||
Directory that contains all global explorers.
|
||
Available for: initial manifest, explorer, type explorer, shell
|
||
</dd><dt><span class="term">
|
||
__manifest
|
||
</span></dt><dd>
|
||
Directory that contains the initial manifest.
|
||
Available for: initial manifest, type manifest, shell
|
||
</dd><dt><span class="term">
|
||
__global
|
||
</span></dt><dd>
|
||
Directory that contains generic output like explorer.
|
||
Available for: initial manifest, type manifest, type gencode, shell
|
||
</dd><dt><span class="term">
|
||
__messages_in
|
||
</span></dt><dd>
|
||
File to read messages from
|
||
Available for: initial manifest, type manifest, type gencode
|
||
</dd><dt><span class="term">
|
||
__messages_out
|
||
</span></dt><dd>
|
||
File to write messages
|
||
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>
|
||
The type unique object id.
|
||
Available for: type manifest, type explorer, type gencode
|
||
Note: The leading and the trailing "/" will always be stripped (caused by
|
||
the filesystem database and ensured by the core).
|
||
Note: Double slashes ("//") will not be fixed and result in an error.
|
||
</dd><dt><span class="term">
|
||
__object_name
|
||
</span></dt><dd>
|
||
The full qualified name of the current object.
|
||
Available for: type manifest, type explorer, type gencode
|
||
</dd><dt><span class="term">
|
||
__target_host
|
||
</span></dt><dd>
|
||
The host we are deploying to.
|
||
Available for: explorer, initial manifest, type explorer, type manifest, type gencode, shell
|
||
</dd><dt><span class="term">
|
||
__type
|
||
</span></dt><dd>
|
||
Path to the current type.
|
||
Available for: type manifest, type gencode
|
||
</dd><dt><span class="term">
|
||
__type_explorer
|
||
</span></dt><dd>
|
||
Directory that contains the type explorers.
|
||
Available for: type explorer
|
||
</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_environment_variables_for_writing"></a>7. ENVIRONMENT VARIABLES (FOR WRITING)</h2></div></div></div><p>The following environment variables influence the behaviour of cdist:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
|
||
require
|
||
</span></dt><dd>
|
||
Setup dependencies between objects (see cdist-manifest(7))
|
||
</dd><dt><span class="term">
|
||
CDIST_OVERRIDE
|
||
</span></dt><dd>
|
||
Allow overwriting type parameters (see cdist-manifest(7))
|
||
</dd><dt><span class="term">
|
||
CDIST_ORDER_DEPENDENCY
|
||
</span></dt><dd>
|
||
Create dependencies based on the execution order (see cdist-manifest(7))
|
||
</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_see_also"></a>8. 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>9. COPYING</h2></div></div></div><p>Copyright (C) 2011-2014 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> |