diff --git a/software/cdist/man/3.0.2/man1/cdist.html b/software/cdist/man/3.0.2/man1/cdist.html
new file mode 100644
index 00000000..98594c3a
--- /dev/null
+++ b/software/cdist/man/3.0.2/man1/cdist.html
@@ -0,0 +1,97 @@
+
+
cdist - Usable Configuration Management
cdist [-h] [-d] [-v] [-V] {banner,config,shell} …
cdist banner [-h] [-d] [-v]
cdist config [-h] [-d] [-V] [-c CONF_DIR] [-i MANIFEST] [-p] [-s] host [host …]
cdist shell [-h] [-d] [-v] [-s SHELL]
cdist is the frontend executable to the cdist configuration management.
+cdist supports different subcommands as explained below.
All commands except the following options:
-
+-d, --debug
+
-
+ Set log level to debug
+
-
+-h, --help
+
-
+ Show the help screen
+
-v, --verbose:
+ Set log level to info, be more verbose
-
+-V, --version
+
-
+ Show version and exit
+
Displays the cdist banner. Useful for printing
+cdist posters - a must have for every office.
Configure one or more hosts
-
+-h, --help
+
-
+ Show the help screen
+
-
+-c CONF_DIR, --conf-dir CONF_DIR
+
-
+ Add a configuration directory. Can be specified multiple times.
+ If configuration directories contain conflicting types, explorers or
+ manifests, then the last one found is used. Additionally this can also
+ be configured by setting the CDIST_PATH environment variable to a colon
+ delimited list of config directories. Directories given with the
+ --conf-dir argument have higher precedence over those set through the
+ environment variable.
+
-
+-i MANIFEST, --initial-manifest MANIFEST
+
-
+ Path to a cdist manifest or - to read from stdin
+
-
+-p, --parallel
+
-
+ Operate on multiple hosts in parallel
+
-
+-s, --sequential
+
-
+ Operate on multiple hosts sequentially
+
--remote-copy REMOTE_COPY:
+ Command to use for remote copy (should behave like scp)
--remote-exec REMOTE_EXEC:
+ Command to use for remote execution (should behave like ssh)
This command allows you to spawn a shell that enables access
+to the types as commands. It can be thought as an
+"interactive manifest" environment. See below for example
+usage. Its primary use is for debugging type parameters.
-
+-s/--shell
+
-
+ Select shell to use, defaults to current shell
+
# Configure ikq05.ethz.ch with debug enabled
+% cdist config -d ikq05.ethz.ch
+
+# Configure hosts in parallel and use a different configuration directory
+% cdist config -c ~/p/cdist-nutzung \
+ -p ikq02.ethz.ch ikq03.ethz.ch ikq04.ethz.ch
+
+# Use custom remote exec / copy commands
+% cdist config --remote-exec /path/to/my/remote/exec \
+ --remote-copy /path/to/my/remote/copy \
+ -p ikq02.ethz.ch ikq03.ethz.ch ikq04.ethz.ch
+
+# Display banner
+cdist banner
+
+# Show help
+% cdist --help
+
+# Show Version
+% cdist --version
+
+# Enter a shell that has access to emulated types
+% cdist shell
+% __git
+usage: __git --source SOURCE [--state STATE] [--branch BRANCH]
+ [--group GROUP] [--owner OWNER] [--mode MODE] object_id
The following exit values shall be returned:
-
+0
+
-
+ Successful completion
+
-
+1
+
-
+ One or more host configurations failed
+
-
+cdist(7)
+
-
+cdist-reference(7)
+
Copyright (C) 2011-2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man1/docbook-xsl.css b/software/cdist/man/3.0.2/man1/docbook-xsl.css
new file mode 100644
index 00000000..ee9ca46d
--- /dev/null
+++ b/software/cdist/man/3.0.2/man1/docbook-xsl.css
@@ -0,0 +1,329 @@
+/*
+ CSS stylesheet for XHTML produced by DocBook XSL stylesheets.
+*/
+
+body {
+ font-family: Georgia,serif;
+}
+
+code, pre {
+ font-family: "Courier New", Courier, monospace;
+}
+
+span.strong {
+ font-weight: bold;
+}
+
+body blockquote {
+ margin-top: .75em;
+ line-height: 1.5;
+ margin-bottom: .75em;
+}
+
+html body {
+ margin: 1em 5% 1em 5%;
+ line-height: 1.2;
+}
+
+body div {
+ margin: 0;
+}
+
+h1, h2, h3, h4, h5, h6
+{
+ color: #527bbd;
+ font-family: Arial,Helvetica,sans-serif;
+}
+
+div.toc p:first-child,
+div.list-of-figures p:first-child,
+div.list-of-tables p:first-child,
+div.list-of-examples p:first-child,
+div.example p.title,
+div.sidebar p.title
+{
+ font-weight: bold;
+ color: #527bbd;
+ font-family: Arial,Helvetica,sans-serif;
+ margin-bottom: 0.2em;
+}
+
+body h1 {
+ margin: .0em 0 0 -4%;
+ line-height: 1.3;
+ border-bottom: 2px solid silver;
+}
+
+body h2 {
+ margin: 0.5em 0 0 -4%;
+ line-height: 1.3;
+ border-bottom: 2px solid silver;
+}
+
+body h3 {
+ margin: .8em 0 0 -3%;
+ line-height: 1.3;
+}
+
+body h4 {
+ margin: .8em 0 0 -3%;
+ line-height: 1.3;
+}
+
+body h5 {
+ margin: .8em 0 0 -2%;
+ line-height: 1.3;
+}
+
+body h6 {
+ margin: .8em 0 0 -1%;
+ line-height: 1.3;
+}
+
+body hr {
+ border: none; /* Broken on IE6 */
+}
+div.footnotes hr {
+ border: 1px solid silver;
+}
+
+div.navheader th, div.navheader td, div.navfooter td {
+ font-family: Arial,Helvetica,sans-serif;
+ font-size: 0.9em;
+ font-weight: bold;
+ color: #527bbd;
+}
+div.navheader img, div.navfooter img {
+ border-style: none;
+}
+div.navheader a, div.navfooter a {
+ font-weight: normal;
+}
+div.navfooter hr {
+ border: 1px solid silver;
+}
+
+body td {
+ line-height: 1.2
+}
+
+body th {
+ line-height: 1.2;
+}
+
+ol {
+ line-height: 1.2;
+}
+
+ul, body dir, body menu {
+ line-height: 1.2;
+}
+
+html {
+ margin: 0;
+ padding: 0;
+}
+
+body h1, body h2, body h3, body h4, body h5, body h6 {
+ margin-left: 0
+}
+
+body pre {
+ margin: 0.5em 10% 0.5em 1em;
+ line-height: 1.0;
+ color: navy;
+}
+
+tt.literal, code.literal {
+ color: navy;
+}
+
+.programlisting, .screen {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ margin: 0.5em 10% 0.5em 0;
+ padding: 0.5em 1em;
+}
+
+div.sidebar {
+ background: #ffffee;
+ margin: 1.0em 10% 0.5em 0;
+ padding: 0.5em 1em;
+ border: 1px solid silver;
+}
+div.sidebar * { padding: 0; }
+div.sidebar div { margin: 0; }
+div.sidebar p.title {
+ margin-top: 0.5em;
+ margin-bottom: 0.2em;
+}
+
+div.bibliomixed {
+ margin: 0.5em 5% 0.5em 1em;
+}
+
+div.glossary dt {
+ font-weight: bold;
+}
+div.glossary dd p {
+ margin-top: 0.2em;
+}
+
+dl {
+ margin: .8em 0;
+ line-height: 1.2;
+}
+
+dt {
+ margin-top: 0.5em;
+}
+
+dt span.term {
+ font-style: normal;
+ color: navy;
+}
+
+div.variablelist dd p {
+ margin-top: 0;
+}
+
+div.itemizedlist li, div.orderedlist li {
+ margin-left: -0.8em;
+ margin-top: 0.5em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+
+div.sidebar ul, div.sidebar ol {
+ margin-left: 2.8em;
+}
+
+div.itemizedlist p.title,
+div.orderedlist p.title,
+div.variablelist p.title
+{
+ margin-bottom: -0.8em;
+}
+
+div.revhistory table {
+ border-collapse: collapse;
+ border: none;
+}
+div.revhistory th {
+ border: none;
+ color: #527bbd;
+ font-family: Arial,Helvetica,sans-serif;
+}
+div.revhistory td {
+ border: 1px solid silver;
+}
+
+/* Keep TOC and index lines close together. */
+div.toc dl, div.toc dt,
+div.list-of-figures dl, div.list-of-figures dt,
+div.list-of-tables dl, div.list-of-tables dt,
+div.indexdiv dl, div.indexdiv dt
+{
+ line-height: normal;
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+/*
+ Table styling does not work because of overriding attributes in
+ generated HTML.
+*/
+div.table table,
+div.informaltable table
+{
+ margin-left: 0;
+ margin-right: 5%;
+ margin-bottom: 0.8em;
+}
+div.informaltable table
+{
+ margin-top: 0.4em
+}
+div.table thead,
+div.table tfoot,
+div.table tbody,
+div.informaltable thead,
+div.informaltable tfoot,
+div.informaltable tbody
+{
+ /* No effect in IE6. */
+ border-top: 3px solid #527bbd;
+ border-bottom: 3px solid #527bbd;
+}
+div.table thead, div.table tfoot,
+div.informaltable thead, div.informaltable tfoot
+{
+ font-weight: bold;
+}
+
+div.mediaobject img {
+ margin-bottom: 0.8em;
+}
+div.figure p.title,
+div.table p.title
+{
+ margin-top: 1em;
+ margin-bottom: 0.4em;
+}
+
+div.calloutlist p
+{
+ margin-top: 0em;
+ margin-bottom: 0.4em;
+}
+
+a img {
+ border-style: none;
+}
+
+@media print {
+ div.navheader, div.navfooter { display: none; }
+}
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }
diff --git a/software/cdist/man/3.0.2/man7/cdist-best-practice.html b/software/cdist/man/3.0.2/man7/cdist-best-practice.html
new file mode 100644
index 00000000..a4a0e6ca
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-best-practice.html
@@ -0,0 +1,148 @@
+
+cdist-best-practice - Practices used in real environments
2. PASSWORDLESS CONNECTIONS
It is recommended to run cdist with public key authentication.
+This requires a private/public key pair and the entry
+"PermitRootLogin without-password" in the sshd server.
+See sshd_config(5) and ssh-keygen(1).
3. SPEEDING UP SSH CONNECTIONS
When connecting to a new host, the initial delay with ssh connections
+is pretty big. You can work around this by
+"sharing of multiple sessions over a single network connection"
+(quote from ssh_config(5)). The following code is suitable for
+inclusion into your ~/.ssh/config:
Host *
+ ControlPath ~/.ssh/master-%l-%r@%h:%p
+ ControlMaster auto
+ ControlPersist 10
4. SPEEDING UP SHELL EXECUTION
On the source host, ensure that /bin/sh is not bash: bash is quite slow for
+script execution. Instead, you could use dash after installing it:
ln -sf /bin/dash /bin/sh
5. MULTI MASTER OR ENVIRONMENT SETUPS
If you plan to distribute cdist among servers or use different
+environments, you can do so easily with the included version
+control git. For instance if you plan to use the typical three
+environments production, integration and development, you can
+realise this with git branches:
# Go to cdist checkout
+cd /path/to/cdist
+
+# Create branches
+git branch development
+git branch integration
+git branch production
+
+# Make use of a branch, for instance production
+git checkout production
Similar if you want to have cdist checked out at multiple machines,
+you can clone it multiple times:
machine-a % git clone git://your-git-server/cdist
+machine-b % git clone git://your-git-server/cdist
6. SEPERATING WORK BY GROUPS
If you are working with different groups on one cdist-configuration,
+you can delegate to other manifests and have the groups edit only
+their manifests. You can use the following snippet in
+conf/manifests/init:
# Include other groups
+sh -e "$__manifest/systems"
+
+sh -e "$__manifest/cbrg"
7. MAINTAINING MULTIPLE CONFIGURATIONS
When you need to manage multiple sites with cdist, like company_a, company_b
+and private for instance, you can easily use git for this purpose.
+Including a possible common base that is reused accross the different sites:
# create branches
+git branch company_a company_b common private
+
+# make stuff for company a
+git checkout company_a
+# work, commit, etc.
+
+# make stuff for company b
+git checkout company_b
+# work, commit, etc.
+
+# make stuff relevant for all sites
+git checkout common
+# work, commit, etc.
+
+# change to private and include latest common stuff
+git checkout private
+git merge common
The following .git/config is taken from a a real world scenario:
# Track upstream, merge from time to time
+[remote "upstream"]
+ url = git://git.schottelius.org/cdist
+ fetch = +refs/heads/*:refs/remotes/upstream/*
+
+# Same as upstream, but works when being offline
+[remote "local"]
+ fetch = +refs/heads/*:refs/remotes/local/*
+ url = /home/users/nico/p/cdist
+
+# Remote containing various ETH internal branches
+[remote "eth"]
+ url = sans.ethz.ch:/home/services/sans/git/cdist-eth
+ fetch = +refs/heads/*:refs/remotes/eth/*
+
+# Public remote that contains my private changes to cdist upstream
+[remote "nico"]
+ url = git.schottelius.org:/home/services/git/cdist-nico
+ fetch = +refs/heads/*:refs/remotes/nico/*
+
+# The "nico" branch will be synced with the remote nico, branch master
+[branch "nico"]
+ remote = nico
+ merge = refs/heads/master
+
+# ETH stable contains rock solid configurations used in various places
+[branch "eth-stable"]
+ remote = eth
+ merge = refs/heads/stable
Have a look at git-remote(1) to adjust the remote configuration, which allows
8. MULTIPLE DEVELOPERS WITH DIFFERENT TRUST
If you are working in an environment that requires different people to
+work on the same configuration, but having different privileges, you can
+implement this scenario with a gateway host and sudo:
-
+Create a dedicated user (for instance cdist)
+
-
+Setup the ssh-pubkey for this user that has the right to configure all hosts
+
-
+Create a wrapper to update the cdist configuration in ~cdist/cdist
+
-
+Allow every developer to execute this script via sudo as the user cdist
+
-
+Allow run of cdist as user cdist on specific hosts on a per user/group base
+
-
+f.i. nico ALL=(ALL) NOPASSWD: /home/cdist/bin/cdist config hostabc
+
For more details consult sudoers(5)
-
+create directory templates/ in your type (convention)
+
-
+create the template as an executable file like templates/basic.conf.sh, it will output text using shell variables for the values
+
#!/bin/sh
+# in the template, use cat << eof (here document) to output the text
+# and use standard shell variables in the template
+# output everything in the template script to stdout
+cat << EOF
+server {
+ listen 80;
+ server_name $SERVERNAME;
+ root $ROOT;
+
+ access_log /var/log/nginx/$SERVERNAME_access.log
+ error_log /var/log/nginx/$SERVERNAME_error.log
+}
+EOF
-
+in the manifest, export the relevant variables and add the following lines in your manifest:
+
# export variables needed for the template
+ export SERVERNAME='test"
+ export ROOT='/var/www/test'
+# render the template
+ mkdir -p "$__object/files"
+ "$__type/templates/basic.conf.sh" > "$__object/files/basic.conf"
+# send the rendered template
+ __file /etc/nginx/sites-available/test.conf \
+ --state present
+ --source "$__object/files/basic.conf"
If you want to test a new type on a node, you can tell cdist to only use an
+object of this type: Use the --initial-manifest parameter
+with - (stdin) as argument and feed object into stdin
+of cdist:
# Singleton type without parameter
+echo __ungleich_munin_server | cdist --initial-manifest - munin.panter.ch
+
+# Singleton type with parameter
+echo __ungleich_munin_node --allow 1.2.3.4 | \
+ cdist --initial-manifest - rails-19.panter.ch
+
+# Normal type
+echo __file /tmp/stdintest --mode 0644 | \
+ cdist --initial-manifest - cdist-dev-01.ungleich.ch
11. OTHER CONTENT IN CDIST REPOSITORY
Usually the cdist repository contains all configuration
+items. Sometimes you may have additional resources that
+you would like to store in your central configuration
+repositiory (like password files from KeepassX,
+Libreoffice diagrams, etc.).
It is recommended to use a subfolder named "non-cdist"
+in the repository for such content: It allows you to
+easily distinguish what is used by cdist and what not
+and also to store all important files in one
+repository.
-
+cdist(1)
+
-
+cdist-tutorial(7)
+
Copyright (C) 2011-2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-bootstrap.html b/software/cdist/man/3.0.2/man7/cdist-bootstrap.html
new file mode 100644
index 00000000..5f97b76d
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-bootstrap.html
@@ -0,0 +1,76 @@
+
+cdist-bootstrap - setup cdist environment
This document describes the usual steps recommended for a new
+cdist setup. It is recommended that you have read and understood
+cdist-quickstart(7) before digging into this.
First of all, you should think about where to store your configuration
+database and who will be accessing or changing it. Secondly you have to
+think about where to configure your hosts from, which may be a different
+location.
For starters, having cdist (which includes the configuration database) on
+your notebook should be fine.
+Additionally an external copy of the git repository the configuration
+relies in is recommended, for use as backup as well to allow easy collaboration
+with others.
For more sophisticated setups developing cdist configurations with multiple
+people, have a look at cdist-best-practice(7).
4. SETUP WORKING DIRECTORY AND BRANCH
I assume you have a fresh copy of the cdist tree in ~/cdist, cloned from
+one of the official urls (see cdist-quickstart(7) if you don’t).
+Entering the command "git branch" should show you "* master", which indicates
+you are on the master branch.
The master branch reflects the latest development of cdist. As this is the
+development branch, it may or may not work. There are also version branches
+available, which are kept in a stable state. Let’s use git branch -r
+to list all branches:
cdist% git branch -r
+ origin/1.0
+ origin/1.1
+ origin/1.2
+ origin/1.3
+ origin/1.4
+ origin/1.5
+ origin/1.6
+ origin/1.7
+ origin/2.0
+ origin/HEAD -> origin/master
+ origin/archive_shell_function_approach
+ origin/master
So 2.0 is the latest version branch in this example.
+All versions (2.0.x) within one version branch (2.0) are compatible to each
+other and won’t break your configuration when updating.
It’s up to you to decide which branch you want to base your own work on:
+master contains more recent changes, newer types, but may also break.
+The version branches are stable, but may lack the latest features.
+Your decision can be changed later on, but may result in merge conflicts,
+which you will need to solve.
Let’s assume you want latest stuff and select the master branch as base for
+your own work. Now it’s time to create your branch, which contains your
+local changes. I usually name it by the company/area I am working for:
+ethz-systems, localch, customerX, … But this is pretty much up to you.
In this tutorial I use the branch mycompany:
cdist% git checkout -b mycompany origin/master
+Branch mycompany set up to track remote branch master from origin.
+Switched to a new branch 'mycompany'
+cdist-user% git branch
+ master
+* mycompany
From now on, you can use git as usual to commit your changes in your own branch.
5. PUBLISHING THE CONFIGURATION
Usually a development machine like a notebook should be considered
+temporary only. For this reason and to enable shareability, the configuration
+should be published to another device as early as possible. The following
+example shows how to publish the configuration to another host that is
+reachable via ssh and has git installed:
# Create bare git repository on the host named "loch"
+cdist% ssh loch "GIT_DIR=/home/nutzer/cdist git init"
+Initialized empty Git repository in /home/nutzer/cdist/
+
+# Add remote git repo to git config
+cdist% git remote add loch loch:/home/nutzer/cdist
+
+# Configure the mycompany branch to push to loch
+cdist% git config branch.mycompany.remote loch
+
+# Configure mycompany branch to push into remote master branch
+cdist% git config branch.mycompany.merge refs/heads/master
+
+# Push mycompany branch to remote branch master initially
+cdist% git push loch mycompany:refs/heads/master
Now you have setup the git repository to synchronise the mycompany
+branch with the master branch on the host loch. Thus you can commit
+as usual in your branch and push out changes by entering git push.
Whenever you want to update your cdist installation, you can use git to do so:
# Update git repository with latest changes from origin
+cdist% git fetch origin
+
+# Update current branch with master branch from origin
+cdist% git merge origin/master
+
+# Alternative: Update current branch with 2.0 branch from origin
+cdist% git merge origin/2.0
-
+cdist(1)
+
-
+cdist-tutorial(7)
+
Copyright (C) 2012 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-explorer.html b/software/cdist/man/3.0.2/man7/cdist-explorer.html
new file mode 100644
index 00000000..6f409c3e
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-explorer.html
@@ -0,0 +1,27 @@
+
+cdist-explorer - Explore the target systems
Explorer are small shell scripts, which will be executed on the target
+host. The aim of the explorer is to give hints to types on how to act on the
+target system. An explorer outputs the result to stdout, which is usually
+a one liner, but may be empty or multi line especially in the case of
+type explorers.
There are general explorers, which are run in an early stage, and
+type explorers. Both work almost exactly the same way, with the difference
+that the values of the general explorers are stored in a general location and
+the type specific below the object.
Explorers can reuse other explorers on the target system by calling
+$explorer/<explorer_name> (general and type explorer) or
+$type_explorer/<explorer name> (type explorer).
In case of significant errors, the explorer may exit non-zero and return an
+error message on stderr, which will cause cdist to abort.
You can also use stderr for debugging purposes while developing a new
+explorer.
A very simple explorer may look like this:
hostname
Which is in practise the hostname explorer.
A type explorer, which could check for the status of a package may look like this:
if [ -f "$__object/parameter/name" ]; then
+ name="$(cat "$__object/parameter/name")"
+else
+ name="$__object_id"
+fi
+
+# Except dpkg failing, if package is not known / installed
+dpkg -s "$name" 2>/dev/null || exit 0
-
+cdist(1)
+
-
+cdist-reference(7)
+
-
+cdist-stages(7)
+
Copyright (C) 2010-2012 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-hacker.html b/software/cdist/man/3.0.2/man7/cdist-hacker.html
new file mode 100644
index 00000000..6e902e08
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-hacker.html
@@ -0,0 +1,101 @@
+
+cdist-hacker - How to get (stuff) into cdist
Welcome dear hacker! I invite you to a tour of pointers to
+get into the usable configuration mangament system, cdist.
The first thing to know is probably that cdist is brought to
+you by people who care about how code looks like and who think
+twice before merging or implementing a feature: Less features
+with good usability are far better than the opposite.
If you believe you’ve found a bug and verified that it is
+in the latest version, drop a mail to the cdist mailing list,
+subject prefixed with "[BUG] " or create an issue on github.
4. CODING CONVENTIONS (EVERYWHERE)
If something should be better done or needs to fixed, add the word FIXME
+nearby, so grepping for FIXME gives all positions that need to be fixed.
Indention is 4 spaces (welcome to the python world).
5. HOW TO SUBMIT STUFF FOR INCLUSION INTO UPSTREAM CDIST
If you did some cool changes to cdist, which you value as a benefit for
+everybody using cdist, you’re welcome to propose inclusion into upstream.
There are though some requirements to ensure your changes don’t break others
+work nor kill the authors brain:
-
+All files should contain the usual header (Author, Copying, etc.)
+
-
+Code submission must be done via git
+
-
+Do not add cdist/conf/manifest/init - This file should only be touched in your
+ private branch!
+
-
+Code to be included should be branched of the upstream "master" branch
+
-
+Exception: Bugfixes to a version branch
+
-
+On a merge request, always name the branch I should pull from
+
-
+Always ensure all manpages build. Use ./build man to test.
+
-
+If you developed more than one feature, consider submitting them in
+ separate branches. This way one feature can already be included, even if
+ the other needs to be improved.
+
As soon as your work meets these requirements, write a mail
+for inclusion to the mailinglist cdist at cdist — at — l.schottelius.org
+or open a pull request at http://github.com/telmich/cdist.
6. HOW TO SUBMIT A NEW TYPE
For detailled information about types, see cdist-type(7).
Submitting a type works as described above, with the additional requirement
+that a corresponding manpage named man.text in asciidoc format with
+the manpage-name "cdist-type__NAME" is included in the type directory
+AND asciidoc is able to compile it (i.e. do NOT have to many "=" in the second
+line).
Warning: Submitting "exec" or "run" types that simply echo their parameter in
+gencode* will not be accepted, because they are of no use. Every type can output
+code and thus such a type introduces redundant functionality that is given by
+core cdist already.
The following workflow works fine for most developers:
# get latest upstream master branch
+git clone https://github.com/telmich/cdist.git
+
+# update if already existing
+cd cdist; git fetch -v; git merge origin/master
+
+# create a new branch for your feature/bugfix
+cd cdist # if you haven't done before
+git checkout -b documentation_cleanup
+
+# *hack*
+*hack*
+
+# clone the cdist repository on github if you haven't done so
+
+# configure your repo to know about your clone (only once)
+git remote add github git@github.com:YOURUSERNAME/cdist.git
+
+# push the new branch to github
+git push github documentation_cleanup
+
+# (or everything)
+git push --mirror github
+
+# create a pull request at github (use a browser)
+# *fixthingsbecausequalityassurancefoundissuesinourpatch*
+*hack*
+
+# push code to github again
+git push ... # like above
+
+# add comment that everything should be green now (use a browser)
+
+# go back to master branch
+git checkout master
+
+# update master branch that includes your changes now
+git fetch -v origin
+git diff master..origin/master
+git merge origin/master
If at any point you want to go back to the original master branch, you can
+use git stash to stash your changes away:
# assume you are on documentation_cleanup
+git stash
+
+# change to master and update to most recent upstream version
+git checkout master
+git fetch -v origin
+git merge origin/master
Similar when you want to develop another new feature, you go back
+to the master branch and create another branch based on it:
# change to master and update to most recent upstream version
+git checkout master
+git fetch -v origin
+git merge origin/master
+
+git checkout -b another_feature
(you can repeat the code above for as many features as you want to develop
+in parallel)
-
+cdist(7)
+
-
+git(1)
+
-
+git-checkout(1)
+
-
+git-stash(1)
+
Copyright (C) 2011-2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-manifest.html b/software/cdist/man/3.0.2/man7/cdist-manifest.html
new file mode 100644
index 00000000..bff71b03
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-manifest.html
@@ -0,0 +1,75 @@
+
+cdist-manifest - (Re-)Use types
Manifests are used to define which objects to create.
+Objects are instances of types, like in object oriented programming languages.
+An object is represented by the combination of
+type + slash + object name: file/etc/cdist-configured is an
+object of the type file with the name etc/cdist-configured.
All available types can be found in the cdist/conf/type/ directory,
+use ls cdist/conf/type to get the list of available types. If you have
+setup the MANPATH correctly, you can use man cdist-reference to access
+the reference with pointers to the manpages.
Types in manifests are used like normal command line tools. Let’s have a look
+at an example:
# Create object of type __package with the parameter state = absent
+__package apache2 --state absent
+
+# Same with the __directory type
+ __directory /tmp/cdist --state present
These two lines create objects, which will later be used to realise the
+configuration on the target host.
Manifests are executed locally as a shell script using /bin/sh -e.
+The resulting objects are stored in an internal database.
The same object can be redefined in multiple different manifests as long as
+the parameters are exactly the same.
In general, manifests are used to define which types are used depending
+on given conditions.
3. INITIAL AND TYPE MANIFESTS
Cdist knows about two types of manifests: The initial manifest and type
+manifests. The initial manifest is used to define, which configurations
+to apply to which hosts. The type manifests are used to create objects
+from types. More about manifests in types can be found in cdist-type(7).
4. DEFINE STATE IN THE INITIAL MANIFEST
The initial manifest is the entry point for cdist to find out, which
+objects to configure on the selected host.
+Cdist expects the initial manifest at cdist/conf/manifest/init.
Within this initial manifest you define, which objects should be
+created on which host. To distinguish between hosts, you can use the
+environment variable __target_host. Let’s have a look at a simple
+example:
__cdistmarker
+
+case "$__target_host" in
+ localhost)
+ __directory /home/services/kvm-vm --parents yes
+ ;;
+esac
This manifest says: Independent of the host, always use the type
+__cdistmarker, which creates the file /etc/cdist-configured,
+with the timestamp as content.
+The directory /home/services/kvm-vm, including all parent directories,
+is only created on the host localhost.
As you can see, there is no magic involved, the manifest is simple shell code that
+utilises cdist types. Every available type can be executed like a normal
+command.
5. SPLITTING UP THE INITIAL MANIFEST
If you want to split up your initial manifest, you can create other shell
+scripts in cdist/conf/manifest/ and include them in cdist/conf/manifest/init.
+Cdist provides the environment variable __manifest to reference to
+the directory containing the initial manifest (see cdist-reference(7)).
The following example would include every file with a .sh suffix:
# Include *.sh
+for manifest in $__manifest/*.sh; do
+ # And source scripts into our shell environment
+ . "$manifest"
+done
If you want to describe that something requires something else, just
+setup the variable "require" to contain the requirements. Multiple
+requirements can be added white space separated.
# No dependency
+__file /etc/cdist-configured
+
+# Require above object
+require="__file/etc/cdist-configured" __link /tmp/cdist-testfile \
+ --source /etc/cdist-configured --type symbolic
+
+# Require two objects
+require="__file/etc/cdist-configured __link/tmp/cdist-testfile" \
+ __file /tmp/cdist-another-testfile
All objects that are created in a type manifest are automatically required
+from the type that is calling them. This is called "autorequirement" in
+cdist jargon.
The initial manifest may for instance contain the following code:
# Always create this file, so other sysadmins know cdist is used.
+__file /etc/cdist-configured
+
+case "$__target_host" in
+ my.server.name)
+ __directory /root/bin/
+ __file /etc/issue.net --source "$__manifest/issue.net
+ ;;
+esac
The manifest of the type "nologin" may look like this:
__file /etc/nologin --source "$__type/files/default.nologin"
This example makes use of dependencies:
# Ensure that lighttpd is installed
+__package lighttpd --state present
+# Ensure that munin makes use of lighttpd instead of the default webserver
+# package as decided by the package manager
+require="__package/lighttpd" __package munin --state present
-
+cdist-tutorial(7)
+
-
+cdist-type(7)
+
Copyright (C) 2010-2012 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-messaging.html b/software/cdist/man/3.0.2/man7/cdist-messaging.html
new file mode 100644
index 00000000..994854cb
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-messaging.html
@@ -0,0 +1,30 @@
+
+cdist-messaging - How the initial manifest and types can communication
cdist has a simple but powerful way of allowing communication between
+the initial manifest and types as well as types and types.
Whenever execution is passed from cdist to one of the
+scripts described below, cdist generate 2 new temporary files
+and exports the environment variables messages_in and
+messages_out to point to them.
Before handing over the control, the content of the global message
+file is copied into the file referenced by $__messages_in.
After cdist gained control back, the content of the file referenced
+by $__messages_out is appended to the global message file.
This way overwriting any of the two files by accident does not
+interfere with other types.
The order of execution is not defined unless you create dependencies
+between the different objects (see cdist-manifest(7)) and thus you
+can only react reliably on messages by objects that you depend on.
Messaging is possible between all local scripts:
-
+initial manifest
+
-
+type/manifest
+
-
+type/gencode-local
+
-
+type/gencode-remote
+
When you want to emit a message use:
echo "something" >> "$__messages_out"
When you want to react on a message use:
if grep -q "^__your_type/object/id:something" "$__messages_in"; then
+ echo "I do something else"
+fi
-
+cdist(1)
+
-
+cdist-manifest(7)
+
-
+cdist-reference(7)
+
-
+cdist-type(7)
+
Copyright (C) 2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-quickstart.html b/software/cdist/man/3.0.2/man7/cdist-quickstart.html
new file mode 100644
index 00000000..66467e6b
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-quickstart.html
@@ -0,0 +1,52 @@
+
+cdist-quickstart - jump in and enjoy cdist
This tutorial is aimed at people learning cdist and shows
+typical approaches as well as gives an easy start into
+the world of configuration management.
This tutorial assumes you are configuring localhost, because
+it is always available. Just replace localhost with your target
+host for real life usage.
3. QUICK START - GET YOUR HANDS DIRTY NOW
For those who just want to configure a system with the
+cdist configuration management and do not need (or want)
+to understand everything.
Cdist uses ssh for communication and transportation
+and usually logs into the target host as the
+root user. So you need to configure the ssh server
+of the target host to allow root logins: Edit
+the file /etc/ssh/sshd_config and add one of the following
+lines:
# Allow login only via public key
+PermitRootLogin without-password
+
+# Allow login via password and public key
+PermitRootLogin yes
As cdist uses ssh intensively, it is recommended to setup authentication
+with public keys:
# Generate pubkey pair as a normal user
+ssh-keygen
+
+# Copy pubkey over to target host
+ssh-copy-id root@localhost
Have a look at ssh-agent(1) and ssh-add(1) on how to cache the password for
+your public key. Usually it looks like this:
# Start agent and export variables
+eval `ssh-agent`
+
+# Add keys (requires password for every identity file)
+ssh-add
At this point you should be able to ssh root@localhost without
+re-entering the password. If something failed until here, ensure that
+all steps went successfully and you have read and understood the
+documentation.
As soon as you are able to login without password to localhost,
+we can use cdist to configure it. You can copy and paste the following
+code into your shell to get started and configure localhost:
# Get cdist
+# Mirrors can be found on
+# http://www.nico.schottelius.org/software/cdist/install/#index2h4
+git clone git://git.schottelius.org/cdist
+
+# Create manifest (maps configuration to host(s)
+cd cdist
+echo '__file /etc/cdist-configured' > cdist/conf/manifest/init
+
+# Configure localhost in verbose mode
+./bin/cdist config -v localhost
+
+# Find out that cdist created /etc/cdist-configured
+ls -l /etc/cdist-configured
That’s it, you’ve successfully used cdist to configure your first host!
+Continue reading the next sections, to understand what you did and how
+to create a more sophisticated configuration.
-
+cdist(1)
+
-
+cdist-tutorial(7)
+
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).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-reference.html b/software/cdist/man/3.0.2/man7/cdist-reference.html
new file mode 100644
index 00000000..8e3222ab
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-reference.html
@@ -0,0 +1,222 @@
+
+cdist-reference - Variable, path and type reference for cdist
The following global explorers are available:
-
+hostname
+
-
+interfaces
+
-
+lsb_codename
+
-
+lsb_description
+
-
+lsb_id
+
-
+lsb_release
+
-
+machine
+
-
+os
+
-
+os_version
+
-
+runlevel
+
-
+$HOME/.cdist
+
-
+ The standard cdist configuration directory relative to your home directory
+ This is usually the place you want to store your site specific configuration
+
-
+cdist/conf/
+
-
+ The distribution configuration directory
+ This contains types and explorers to be used
+
-
+confdir
+
-
+ 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)
+
-
+confdir/manifest/init
+
-
+ 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.
+
-
+confdir/manifest/*
+
-
+ 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.
+
-
+confdir/explorer/<name>
+
-
+ Contains explorers to be run on the target hosts, see cdist-explorer(7).
+
-
+confdir/type/
+
-
+ Contains all available types, which are used to provide
+ some kind of functionality. See cdist-type(7).
+
-
+confdir/type/<name>/
+
-
+ Home of the type <name>.
+ This directory is referenced by the variable __type (see below).
+
-
+confdir/type/<name>/man.text
+
-
+ Manpage in Asciidoc format (required for inclusion into upstream)
+
-
+confdir/type/<name>/manifest
+
-
+ Used to generate additional objects from a type.
+
-
+confdir/type/<name>/gencode-local
+
-
+ Used to generate code to be executed on the source host
+
-
+confdir/type/<name>/gencode-remote
+
-
+ Used to generate code to be executed on the target host
+
-
+confdir/type/<name>/parameter/required
+
-
+ Parameters required by type, \n seperated list.
+
-
+confdir/type/<name>/parameter/optional
+
-
+ Parameters optionally accepted by type, \n seperated list.
+
-
+confdir/type/<name>/parameter/default/*
+
-
+ Default values for optional parameters.
+ Assuming an optional parameter name of foo, it’s default value would
+ be read from the file confdir/type/<name>/parameter/default/foo.
+
-
+confdir/type/<name>/parameter/boolean
+
-
+ Boolean parameters accepted by type, \n seperated list.
+
-
+confdir/type/<name>/explorer
+
-
+ Location of the type specific explorers.
+ This directory is referenced by the variable __type_explorer (see below).
+ See cdist-explorer(7).
+
-
+confdir/type/<name>/files
+
-
+ This directory is reserved for user data and will not be used
+ by cdist at any time
+
-
+out/
+
-
+ 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).
+
-
+out/explorer
+
-
+ Output of general explorers.
+
-
+out/object
+
-
+ Objects created for the host.
+
-
+out/object/<object>
+
-
+ Contains all object specific information.
+ This directory is referenced by the variable __object (see below).
+
-
+out/object/<object>/explorers
+
-
+ Output of type specific explorers, per object.
+
The following types are available:
-
+__cron (cdist-type__cron(7))
+
-
+__file (cdist-type__file(7))
+
-
+__package_emerge_dependencies (cdist-type__package_emerge_dependencies(7))
+
-
+__package_emerge (cdist-type__package_emerge(7))
+
-
+__package_zypper (cdist-type__package_zypper(7))
+
-
+__start_on_boot (cdist-type__start_on_boot(7))
+
-
+__user (cdist-type__user(7))
+
-
+__zypper_repo (cdist-type__zypper_repo(7))
+
-
+__zypper_service (cdist-type__zypper_service(7))
+
For object to object communication and tests, the following paths are
+usable within a object directory:
-
+changed
+
-
+ This empty file exists in an object directory, if the object has
+ code to be excuted (either remote or local)
+
-
+__explorer
+
-
+ Directory that contains all global explorers.
+ Available for: initial manifest, explorer, type explorer, shell
+
-
+__manifest
+
-
+ Directory that contains the initial manifest.
+ Available for: initial manifest, type manifest, shell
+
-
+__global
+
-
+ Directory that contains generic output like explorer.
+ Available for: initial manifest, type manifest, type gencode, shell
+
-
+__messages_in
+
-
+ File to read messages from
+ Available for: initial manifest, type manifest, type gencode
+
-
+__messages_out
+
-
+ File to write messages
+ Available for: initial manifest, type manifest, type gencode
+
-
+__object
+
-
+ Directory that contains the current object.
+ Available for: type manifest, type explorer, type gencode
+
-
+__object_id
+
-
+ 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.
+
-
+__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, shell
+
-
+__type
+
-
+ Path to the current type.
+ Available for: type manifest, type gencode
+
-
+__type_explorer
+
-
+ Directory that contains the type explorers.
+ Available for: type explorer
+
Copyright (C) 2011-2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-remote-exec-copy.html b/software/cdist/man/3.0.2/man7/cdist-remote-exec-copy.html
new file mode 100644
index 00000000..8f8fab76
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-remote-exec-copy.html
@@ -0,0 +1,14 @@
+
+cdist-remote-exec-copy(7)
cdist-remote-exec-copy - How to use remote exec and copy
Cdist interacts with the target host in two ways:
+- it executes code (remote_exec)
+- and it copies files (remote_copy)
By default this is accomplished with ssh and scp respectively.
+The default implementations used by cdist are:
+remote_exec: ssh -o User=root -q
+remote_copy: scp -o User=root -q
The user can override these defaults by providing custom implementations and
+passing them to cdist with the --remote-exec and/or --remote-copy arguments.
For remote_exec, the custom implementation must behave as if it where ssh.
+For remote_copy, it must behave like scp.
With this simple interface the user can take total control of how cdist
+interacts with the target when required, while the default implementation
+remains as simple as possible.
See cdist/other/examples/remote/ for some example implementations.
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).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-stages.html b/software/cdist/man/3.0.2/man7/cdist-stages.html
new file mode 100644
index 00000000..263c1db8
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-stages.html
@@ -0,0 +1,28 @@
+
+cdist-stages - Stages used during configuration deployment
Starting the execution of deployment with cdist, cdist passes
+through different stages.
3. STAGE 1: TARGET INFORMATION RETRIEVAL
In this stage information is collected about the target host using so called
+explorers. Every existing explorer is run on the target and the output of all
+explorers are copied back into the local cache. The results can be used by
+manifests and types.
4. STAGE 2: RUN THE INITIAL MANIFEST
The initial manifest, which should be used for mappings of hosts to types,
+is executed. This stage creates objects in a cconfig database that contains
+the objects as defined in the manifest for the specific host. In this stage,
+no conflicts may occur, i.e. no object of the same type with the same id may
+be created, if it has different parameters.
5. STAGE 3: OBJECT INFORMATION RETRIEVAL
Every object is checked whether its type has explorers and if so, these are
+executed on the target host. The results are transferred back
+and can be used in the following stages to decide what changes need to be made
+on the target to implement the desired state.
6. STAGE 4: RUN THE OBJECT MANIFEST
Every object is checked whether its type has a executable manifest. The
+manifest script may generate and change the created objects. In other words,
+one type can reuse other types.
For instance the object apache/www.example.org is of type apache, which may
+contain a manifest script, which creates new objects of type __file.
The newly created objects are merged back into the existing tree. No conflicts
+may occur during the merge. A conflict would mean that two different objects
+try to create the same object, which indicates a broken configuration.
7. STAGE 5: CODE GENERATION
In this stage for every created object its type is checked for executable
+gencode scripts. The gencode scripts generate the code to be executed on the
+target on stdout. If the gencode executables fail, they must print diagnostic
+messages on stderr and exit non-zero.
8. STAGE 6: CODE EXECUTION
For every object the resulting code from the previous stage is transferred to
+the target host and executed there to apply the configuration changes.
The cache stores the information from the current run for later use.
If, and only if, all the stages complete without an errors, the configuration
+will be applied to the target.
-
+cdist(1)
+
-
+cdist-reference(7)
+
Copyright (C) 2010-2012 Nico Schottelius, Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-troubleshooting.html b/software/cdist/man/3.0.2/man7/cdist-troubleshooting.html
new file mode 100644
index 00000000..71230fad
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-troubleshooting.html
@@ -0,0 +1,28 @@
+
+cdist-troubleshooting - common problems and their solutions
2. ERROR IN MANIFEST IS NOT CONSIDERED AN ERROR BY CDIST
Situation: You are executing other scripts from a manifest.
+This script fails, but cdist does not recognise the error.
+An example script would be something like this:
% cat ~/.cdist/manifest/init
+"$__manifest/special"
+% cat ~/.cdist/manifest/special
+#!/bin/sh
+echo "Here is an unclean exiting script"
+somecommandthatdoesnotexist
+echo "I continue here although previous command failed"
We can clearly see that somecommandthatdoesnotexist
+will fail in ~/.cdist/manifest/special. But as the custom
+script is not called with the -e flag (exit on failure) of shell,
+it does not lead to an error. And thus cdist sees the exit 0
+code of the last echo line instead of the failing command.
All scripts executed by cdist carry the -e flag.
+To prevent the above from happening, there are three solutions available,
+two of which can be used in the calling script:
# Execute as before, but abort on failure
+sh -e "$__manifest/special"
+
+# Source the script in our namespace, runs in a set -e environment:
+. "$__manifest/special"
The third solution is to include a shebang header in every script
+you write to use the -e flag:
% cat ~/.cdist/manifest/special
+#!/bin/sh -e
+...
-
+cdist(1)
+
-
+cdist-tutorial(7)
+
Copyright (C) 2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-tutorial.html b/software/cdist/man/3.0.2/man7/cdist-tutorial.html
new file mode 100644
index 00000000..e32bc129
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-tutorial.html
@@ -0,0 +1,53 @@
+
+cdist-tutorial - a guided introduction into cdist
This document gives you a pointer on what to read in
+which order and is thus a "guide to the right locations".
+So in case you are just starting, just "begin at the beginning"
+(Brave New World). You can see the target audience in [] brackets
+after the description.
-
+cdist-quickstart
+
-
+ New to cdist? Want to get your hands dirty? Read this. [beginner]
+
-
+cdist-bootstrap
+
-
+ The comprehensive guide to your first cdist installation [beginner]
+
-
+cdist-manifest
+
-
+ Learn how to define which hosts get which configurations [beginner]
+
-
+cdist-type
+
-
+ Understand how types are working and created [intermediate]
+
-
+cdist-best-practice
+
-
+ Hints from real life experience to help you to organise cdist [intermediate]
+
-
+cdist-reference
+
-
+ The type, explorers and environment variables reference [intermediate]
+
-
+cdist-explorer
+
-
+ Interested in getting more information about the target system? [intermediate]
+
-
+cdist-stages
+
-
+ Understand the internal workflow of cdist. [advanced]
+
-
+cdist-hacker
+
-
+ README, if you want to extend or modify cdist. [hacker]
+
-
+cdist(1)
+
-
+cdist-type(7)
+
-
+cdist-best-practice(7)
+
-
+cdist-stages(7)
+
-
+Brave New World by Aldous Huxley
+
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).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type.html b/software/cdist/man/3.0.2/man7/cdist-type.html
new file mode 100644
index 00000000..7988936c
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type.html
@@ -0,0 +1,135 @@
+
+cdist-type - Functionality bundled
__TYPE ID --parameter value [--parameter value …]
__TYPE --parameter value [--parameter value …] (for singletons)
Types are the main component of cdist and define functionality. If you
+use cdist, you’ll write a type for every functionality you would like
+to use.
You can use types from the initial manifest or the type manifest like a
+normal command:
# Creates empty file /etc/cdist-configured
+__file /etc/cdist-configured --type file
+
+# Ensure tree is installed
+__package tree --state installed
A list of supported types can be found in the cdist-reference(7) manpage.
If a type is flagged as a singleton, it may be used only
+once per host. This is useful for types which can be used only once on a
+system. Singleton types do not take an object name as argument.
Example:
# __issue type manages /etc/issue
+__issue
+
+# Probably your own type - singletons may use parameters
+__myfancysingleton --colour green
6. HOW TO WRITE A NEW TYPE
A type consists of
-
+parameter (optional)
+
-
+manifest (optional)
+
-
+singleton (optional)
+
-
+explorer (optional)
+
-
+gencode (optional)
+
Types are stored below cdist/conf/type/. Their name should always be prefixed with
+two underscores (__) to prevent collisions with other executables in $PATH.
To implement a new type, create the directory cdist/conf/type/__NAME.
Every type consists of required, optional and boolean parameters, which must
+each be declared in a newline separated file in parameter/required,
+parameter/required_multiple, parameter/optional,
+parameter/optional_multiple and parameter/boolean.
+Parameters which are allowed multiple times should be listed in
+required_multiple or optional_multiple respectively. All other parameters
+follow the standard unix behaviour "the last given wins".
+If either is missing, the type will have no required, no optional, no boolean
+or no parameters at all.
Default values for optional parameters can be predefined in
+parameter/default/<name>.
Example:
echo servername >> cdist/conf/type/__nginx_vhost/parameter/required
+echo logdirectory >> cdist/conf/type/__nginx_vhost/parameter/optional
+echo loglevel >> cdist/conf/type/__nginx_vhost/parameter/optional
+mkdir cdist/conf/type/__nginx_vhost/parameter/default
+echo warning > cdist/conf/type/__nginx_vhost/parameter/default/loglevel
+echo server_alias >> cdist/conf/type/__nginx_vhost/parameter/optional_multiple
+echo use_ssl >> cdist/conf/type/__nginx_vhost/parameter/boolean
The parameters given to a type can be accessed and used in all type scripts
+(e.g manifest, gencode-, explorer/). Note that boolean parameters are
+represented by file existence. File exists → True,
+file does not exist → False
Example: (e.g. in cdist/conf/type/__nginx_vhost/manifest)
# required parameter
+servername="$(cat "$__object/parameter/servername")"
+
+# optional parameter
+if [ -f "$__object/parameter/logdirectory" ]; then
+ logdirectory="$(cat "$__object/parameter/logdirectory")"
+fi
+
+# optional parameter with predefined default
+loglevel="$(cat "$__object/parameter/loglevel")"
+
+# boolean parameter
+if [ -f "$__object/parameter/use_ssl" ]; then
+ # file exists -> True
+ # do some fancy ssl stuff
+fi
+
+# parameter with multiple values
+if [ -f "$__object/parameter/server_alias" ]; then
+ for alias in $(cat "$__object/parameter/server_alias"); do
+ echo $alias > /some/where/usefull
+ done
+fi
Every type can access what has been written on stdin when it has been called.
+The result is saved into the stdin file in the object directory.
Example use of a type: (e.g. in cdist/conf/type/__archlinux_hostname)
__file /etc/rc.conf --source - << eof
+...
+HOSTNAME="$__target_host"
+...
+eof
If you have not seen this syntax (<< eof) before, it may help you to read
+about "here documents".
In the __file type, stdin is used as source for the file, if - is used for source:
if [ -f "$__object/parameter/source" ]; then
+ source="$(cat "$__object/parameter/source")"
+ if [ "$source" = "-" ]; then
+ source="$__object/stdin"
+ fi
+ ....
In the manifest of a type you can use other types, so your type extends
+their functionality. A good example is the __package type, which in
+a shortened version looks like this:
os="$(cat "$__global/explorer/os")"
+case "$os" in
+ archlinux) type="pacman" ;;
+ debian|ubuntu) type="apt" ;;
+ gentoo) type="emerge" ;;
+ *)
+ echo "Don't know how to manage packages on: $os" >&2
+ exit 1
+ ;;
+esac
+
+__package_$type "$@"
As you can see, the type can reference different environment variables,
+which are documented in cdist-reference(7).
Always ensure the manifest is executable, otherwise cdist will not be able
+to execute it. For more information about manifests see cdist-manifest(7).
11. SINGLETON - ONE INSTANCE ONLY
If you want to ensure that a type can only be used once per target, you can
+mark it as a singleton: Just create the (empty) file "singleton" in your type
+directory:
touch cdist/conf/type/__NAME/singleton
This will also change the way your type must be called:
__YOURTYPE --parameter value
As you can see, the object ID is omitted, because it does not make any sense,
+if your type can be used only once.
If a type needs to explore specific details, it can provide type specific
+explorers, which will be executed on the target for every created object.
The explorers are stored under the "explorer" directory below the type.
+It could for instance contain code to check the md5sum of a file on the
+client, like this (shortened version from the type __file):
if [ -f "$__object/parameter/destination" ]; then
+ destination="$(cat "$__object/parameter/destination")"
+else
+ destination="/$__object_id"
+fi
+
+if [ -e "$destination" ]; then
+ md5sum < "$destination"
+fi
13. WRITING THE GENCODE SCRIPT
There are two gencode scripts: gencode-local and gencode-remote.
+The output of gencode-local is executed locally, whereas
+the output of gencode-remote is executed on the target.
+The gencode scripts can make use of the parameters, the global explorers
+and the type specific explorers.
If the gencode scripts encounters an error, it should print diagnostic
+messages to stderr and exit non-zero. If you need to debug the gencode
+script, you can write to stderr:
# Debug output to stderr
+echo "My fancy debug line" >&2
+
+# Output to be saved by cdist for execution on the target
+echo "touch /etc/cdist-configured"
14. HINTS FOR TYPEWRITERS
It must be assumed that the target is pretty dumb and thus does not have high
+level tools like ruby installed. If a type requires specific tools to be present
+on the target, there must be another type that provides this tool and the first
+type should create an object of the specific type.
If your type wants to save temporary data, that may be used by other types
+later on (for instance file), you can save them in the subdirectory
+"files" below $object (but you must create it yourself).
+cdist will not touch this directory.
If your type contains static files, it’s also recommended to place them in
+a folder named "files" within the type (again, because cdist guarantees to
+never ever touch this folder).
15. HOW TO INCLUDE A TYPE INTO UPSTREAM CDIST
If you think your type may be useful for others, ensure it works with the
+current master branch of cdist and have a look at cdist-hacker(7) on
+how to submit it.
-
+cdist-explorer(7)
+
-
+cdist-hacker(7)
+
-
+cdist-stages(7)
+
-
+cdist-tutorial(7)
+
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).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__apt_ppa.html b/software/cdist/man/3.0.2/man7/cdist-type__apt_ppa.html
new file mode 100644
index 00000000..4566ac7c
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__apt_ppa.html
@@ -0,0 +1,13 @@
+
+cdist-type__apt_ppa - Manage ppa repositories
This cdist type allows manage ubuntu ppa repositories.
-
+state
+
-
+ The state the ppa should be in, either "present" or "absent".
+
# Enable a ppa repository
+__apt_ppa ppa:sans-intern/missing-bits --state present
+
+# Disable a ppa repository
+__apt_ppa ppa:sans-intern/missing-bits --state absent
Copyright (C) 2011 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__apt_update_index.html b/software/cdist/man/3.0.2/man7/cdist-type__apt_update_index.html
new file mode 100644
index 00000000..a310b119
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__apt_update_index.html
@@ -0,0 +1,5 @@
+
+cdist-type__apt_update_index(7)
cdist-type__apt_update_index - update apt’s package index
This cdist type runs apt-get update whenever any apt sources have changed.
Copyright (C) 2011 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__block.html b/software/cdist/man/3.0.2/man7/cdist-type__block.html
new file mode 100644
index 00000000..9de58e22
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__block.html
@@ -0,0 +1,56 @@
+
+cdist-type__block - Manage blocks of text in files
Manage a block of text in an existing file.
+The block is identified using the prefix and suffix parameters.
+Everything between prefix and suffix is considered to be a managed block
+of text.
-
+text
+
-
+ the text to manage.
+ If text is - (dash), take what was written to stdin as the text.
+
-
+file
+
-
+ the file in which to manage the text block.
+ Defaults to object_id.
+
-
+prefix
+
-
+ the prefix to add before the text.
+ Defaults to #cdist:block/$object_id
+
-
+suffix
+
-
+ the prefix to add after the text.
+ Defaults to #/cdist:block/$object_id
+
-
+state
+
-
+ present or absent, defaults to present
+
-
+add
+
-
+ block was added
+
-
+update
+
-
+ block was updated/changed
+
-
+remove
+
-
+ block was removed
+
# text from argument
+__block /path/to/file \
+ --prefix '#start' \
+ --suffix '#end' \
+ --text 'some\nblock of\ntext'
+
+# text from stdin
+__block some-id \
+ --file /path/to/file \
+ --text - << DONE
+here some block
+of text
+DONE
Copyright (C) 2013 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__ccollect_source.html b/software/cdist/man/3.0.2/man7/cdist-type__ccollect_source.html
new file mode 100644
index 00000000..0eb892e2
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__ccollect_source.html
@@ -0,0 +1,33 @@
+
+cdist-type__ccollect_source(7)
cdist-type__ccollect_source - Manage ccollect sources
This cdist type allows you to create or delete ccollect sources.
-
+source
+
-
+ The source from which to backup
+
-
+destination
+
-
+ The destination directory
+
-
+state
+
-
+ present or absent, defaults to present
+
5. OPTIONAL MULTIPLE PARAMETERS
-
+exclude
+
-
+ Paths to exclude of backup
+
__ccollect_source doc.ungleich.ch \
+ --source doc.ungleich.ch:/ \
+ --destination /backup/doc.ungleich.ch \
+ --exclude '/proc/*' --exclude '/sys/*'
+
+__ccollect_source doc.ungleich.ch \
+ --source doc.ungleich.ch:/ \
+ --destination /backup/doc.ungleich.ch \
+ --exclude '/proc/*' --exclude '/sys/*'
Copyright (C) 2014 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__cdist.html b/software/cdist/man/3.0.2/man7/cdist-type__cdist.html
new file mode 100644
index 00000000..e224fe08
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__cdist.html
@@ -0,0 +1,28 @@
+
+cdist-type__cdist - Manage cdist installations
This cdist type allows you to easily setup cdist
+on another box, to allow the other box to configure
+systems.
This type is NOT required by target hosts.
+It is only helpful to build FROM which you configure
+other hosts.
This type will use git to clone
-
+username
+
-
+ Select the user to create for the cdist installation.
+ Defaults to "cdist".
+
-
+source
+
-
+ Select the source from which to clone cdist from.
+ Defaults to "git://github.com/telmich/cdist.git".
+
-
+branch
+
-
+ Select the branch to checkout from.
+ Defaults to "master".
+
# Install cdist for user cdist in her home as subfolder cdist
+__cdist /home/cdist/cdist
+
+# Use alternative source
+__cdist --source "git://git.schottelius.org/cdist" /home/cdist/cdist
Copyright (C) 2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__cdistmarker.html b/software/cdist/man/3.0.2/man7/cdist-type__cdistmarker.html
new file mode 100644
index 00000000..f96e7e9b
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__cdistmarker.html
@@ -0,0 +1,22 @@
+
+cdist-type__cdistmarker(7)
cdist-type__cdistmarker - Add a timestamped cdist marker.
This type is used to add a common marker file which indicates that a given
+machine is being managed by cdist. The contents of this file consist of a
+timestamp, which can be used to determine the most recent time at which cdist
+was run against the machine in question.
-
+destination
+
-
+ The path and filename of the marker.
+ Default: /etc/cdist-configured
+
-
+format
+
-
+ The format of the timestamp. This is passed directly to system date.
+ Default: -u
+
# Creates the marker as normal.
+__cdistmarker
+
+# Creates the marker differently.
+__cdistmarker --file /tmp/cdist_marker --format '+%s'
Copyright (C) 2011 Daniel Maher. Free use of this software is granted under
+the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__cron.html b/software/cdist/man/3.0.2/man7/cdist-type__cron.html
new file mode 100644
index 00000000..608ccd2c
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__cron.html
@@ -0,0 +1,66 @@
+
+cdist-type__cron - installs and manages cron jobs
This cdist type allows you to manage entries in a users crontab.
-
+user
+
-
+ The user who’s crontab is edited
+
-
+command
+
-
+ The command to run.
+
-
+state
+
-
+ Either present or absent. Defaults to present.
+
-
+minute
+
-
+ See crontab(5). Defaults to *
+
-
+hour
+
-
+ See crontab(5). Defaults to *
+
-
+day_of_month
+
-
+ See crontab(5). Defaults to *
+
-
+month
+
-
+ See crontab(5). Defaults to *
+
-
+day_of_week
+
-
+ See crontab(5). Defaults to *
+
-
+raw
+
-
+ Take whatever the user has given instead of time and date fields.
+ If given, all other time and date fields are ignored.
+ Can for example be used to specify cron EXTENSIONS like reboot, yearly etc.
+ See crontab(5) for the extensions if any that your cron implementation
+ implements.
+
-
+raw_command
+
-
+ Take whatever the user has given in the commmand and ignore everything else.
+ If given, the command will be added to crontab.
+ Can for example be used to define variables like SHELL or MAILTO.
+
# run Monday to Saturday at 23:15
+__cron some-id --user root --command "/path/to/script" \
+ --hour 23 --minute 15 --day_of_week 1-6
+
+# run on reboot
+__cron some-id --user root --command "/path/to/script" \
+ --raw @reboot
+
+# remove cronjob
+__cron some-id --user root --command "/path/to/script" --state absent
+
+# define default shell
+__cron some-id --user root --raw_command --command "SHELL=/bin/bash" \
+ --state present
-
+cdist-type(7)
+
-
+crontab(5)
+
Copyright (C) 2011-2013 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__debconf_set_selections.html b/software/cdist/man/3.0.2/man7/cdist-type__debconf_set_selections.html
new file mode 100644
index 00000000..82276008
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__debconf_set_selections.html
@@ -0,0 +1,18 @@
+
+cdist-type__debconf_set_selections(7)
cdist-type__debconf_set_selections - Setup debconf selections
On Debian and alike systems debconf-set-selections(1) can be used
+to setup configuration parameters.
-
+file
+
-
+ Use the given filename as input for debconf-set-selections(1)
+
# Setup configuration for nslcd
+__debconf_set_selections nslcd --file /path/to/file
+
+# Setup configuration for nslcd from another type
+__debconf_set_selections nslcd --file "$__type/files/preseed/nslcd"
-
+cdist-type(7)
+
-
+cdist-type__update_alternatives(7)
+
-
+debconf-set-selections(1)
+
Copyright (C) 2011-2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__directory.html b/software/cdist/man/3.0.2/man7/cdist-type__directory.html
new file mode 100644
index 00000000..78667cec
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__directory.html
@@ -0,0 +1,76 @@
+
+cdist-type__directory - Manage a directory
This cdist type allows you to create or remove directories on the target.
-
+state
+
-
+ present or absent, defaults to present
+
-
+group
+
-
+ Group to chgrp to.
+
-
+mode
+
-
+ Unix permissions, suitable for chmod.
+
-
+owner
+
-
+ User to chown to.
+
-
+parents
+
+ Whether to create parents as well (mkdir -p behaviour).
+ Warning: all intermediate directory permissions default
+ to whatever mkdir -p does.
+
Usually this means root:root, 0700.
-
+recursive
+
-
+ If supplied the chgrp and chown call will run recursively.
+ This does not influence the behaviour of chmod.
+
-
+chgrp <group>
+
-
+ Changed group membership
+
-
+chown <owner>
+
-
+ Changed owner
+
-
+chmod <mode>
+
-
+ Changed mode
+
-
+create
+
-
+ Empty directory was created
+
-
+remove
+
-
+ Directory exists, but state is absent, directory will be removed by generated code.
+
-
+remove non directory
+
-
+ Someting other than a directory with the same name exists and was removed prior to create.
+
# A silly example
+__directory /tmp/foobar
+
+# Remove a directory
+__directory /tmp/foobar --state absent
+
+# Ensure /etc exists correctly
+__directory /etc --owner root --group root --mode 0755
+
+# Create nfs service directory, including parents
+__directory /home/services/nfs --parents
+
+# Change permissions recursively
+__directory /home/services --recursive --owner root --group root
+
+# Setup a temp directory
+__directory /local --mode 1777
+
+# Take it all
+__directory /home/services/kvm --recursive --parents \
+ --owner root --group root --mode 0755 --state present
Copyright (C) 2011 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__file.html b/software/cdist/man/3.0.2/man7/cdist-type__file.html
new file mode 100644
index 00000000..a2cf98ff
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__file.html
@@ -0,0 +1,84 @@
+
+cdist-type__file - Manage files
This cdist type allows you to create files, remove files and set file
+attributes on the target.
If the file already exists on the target, then if it is a:
+- regular file, and state is:
+ present: replace it with the source file if they are not equal
+ exists: do nothing
+- symlink: replace it with the source file
+- directory: replace it with the source file
In any case, make sure that the file attributes are as specified.
-
+state
+
-
+ present, absent or exists, defaults to present
+ where:
+ present: the file is exactly the one from source
+ absent: the file does not exist
+ exists: the file from source but only if it doesn’t already exist
+
-
+group
+
-
+ Group to chgrp to.
+
-
+mode
+
-
+ Unix permissions, suitable for chmod.
+
-
+owner
+
-
+ User to chown to.
+
-
+source
+
-
+ If supplied, copy this file from the host running cdist to the target.
+ If not supplied, an empty file or directory will be created.
+ If source is - (dash), take what was written to stdin as the file content.
+
-
+chgrp <group>
+
-
+ Changed group membership
+
-
+chown <owner>
+
-
+ Changed owner
+
-
+chmod <mode>
+
-
+ Changed mode
+
-
+create
+
-
+ Empty file was created (no --source specified)
+
-
+remove
+
-
+ File exists, but state is absent, file will be removed by generated code.
+
-
+upload
+
-
+ File was uploaded
+
# Create /etc/cdist-configured as an empty file
+__file /etc/cdist-configured
+# The same thing
+__file /etc/cdist-configured --state present
+# Delete existing file
+__file /etc/cdist-configured --state absent
+
+# Use __file from another type
+__file /etc/issue --source "$__type/files/archlinux" --state present
+
+# Supply some more settings
+__file /etc/shadow --source "$__type/files/shadow" \
+ --owner root --group shadow --mode 0640 \
+ --state present
+
+# Provide a default file, but let the user change it
+__file /home/frodo/.bashrc --source "/etc/skel/.bashrc" \
+ --state exists \
+ --owner frodo --mode 0600
+
+# Take file content from stdin
+__file /tmp/whatever --owner root --group root --mode 644 --source - << DONE
+Here goes the content for /tmp/whatever
+DONE
Copyright (C) 2011-2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__git.html b/software/cdist/man/3.0.2/man7/cdist-type__git.html
new file mode 100644
index 00000000..36060392
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__git.html
@@ -0,0 +1,32 @@
+
+cdist-type__git - Get and or keep git repositories up-to-date
This cdist type allows you to clone git repositories
-
+source
+
-
+ Specifies the git remote to clone from
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
-
+branch
+
-
+ Create this branch by checking out the remote branch of this name
+
-
+group
+
-
+ Group to chgrp to.
+
-
+mode
+
-
+ Unix permissions, suitable for chmod.
+
-
+owner
+
-
+ User to chown to.
+
__git /home/services/dokuwiki --source git://github.com/splitbrain/dokuwiki.git
+
+# Checkout cdist, stay on branch 2.1
+__git /home/nico/cdist --source git://github.com/telmich/cdist.git --branch 2.1
Copyright (C) 2012 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__group.html b/software/cdist/man/3.0.2/man7/cdist-type__group.html
new file mode 100644
index 00000000..ce8e892e
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__group.html
@@ -0,0 +1,36 @@
+
+cdist-type__group - Manage groups
This cdist type allows you to create or modify groups on the target.
-
+gid
+
-
+ see groupmod(8)
+
-
+password
+
-
+ see above
+
-
+mod
+
-
+ group is modified
+
-
+add
+
-
+ New group added
+
-
+change <property> <new_value> <current_value>
+
-
+ Changed group property from current_value to new_value
+
-
+set <property> <new_value>
+
-
+ set property to new value, property was not set bevore
+
# Create a group 'foobar' with operating system default settings
+__group foobar
+
+# Same but with a specific gid
+__group foobar --gid 1234
+
+# Same but with a gid and password
+__group foobar --gid 1234 --password 'crypted-password-string'
Copyright (C) 2011 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__iptables_apply.html b/software/cdist/man/3.0.2/man7/cdist-type__iptables_apply.html
new file mode 100644
index 00000000..430eea24
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__iptables_apply.html
@@ -0,0 +1,11 @@
+
+cdist-type__iptables_apply(7)
cdist-type__iptables_apply - Apply the rules
This cdist type deploys an init script that triggers
+the configured rules and also re-applies them on
+configuration.
None (iptables_apply is used by iptables_rule)
-
+cdist-type(7)
+
-
+cdist-type__iptables_rule(7)
+
-
+iptables(8)
+
Copyright (C) 2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__iptables_rule.html b/software/cdist/man/3.0.2/man7/cdist-type__iptables_rule.html
new file mode 100644
index 00000000..332baa31
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__iptables_rule.html
@@ -0,0 +1,34 @@
+
+cdist-type__iptables_rule(7)
cdist-type__iptables_rule - Deploy iptable rulesets
This cdist type allows you to manage iptable rules
+in a distribution independent manner.
-
+rule
+
-
+ The rule to apply. Essentially an iptables command
+ line without iptables in front of it.
+
-
+state
+
-
+ present or absent, defaults to present
+
# Deploy some policies
+__iptables_rule policy-in --rule "-P INPUT DROP"
+__iptables_rule policy-out --rule "-P OUTPUT ACCEPT"
+__iptables_rule policy-fwd --rule "-P FORWARD DROP"
+
+# The usual established rule
+__iptables_rule established --rule "-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT"
+
+# Some service rules
+__iptables_rule http --rule "-A INPUT -p tcp --dport 80 -j ACCEPT"
+__iptables_rule ssh --rule "-A INPUT -p tcp --dport 80 -j ACCEPT"
+__iptables_rule https --rule "-A INPUT -p tcp --dport 443 -j ACCEPT"
+
+# Ensure some rules are not present anymore
+__iptables_rule munin --rule "-A INPUT -p tcp --dport 4949 -j ACCEPT" \
+ --state absent
-
+cdist-type(7)
+
-
+cdist-type__iptables_apply(7)
+
-
+iptables(8)
+
Copyright (C) 2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__issue.html b/software/cdist/man/3.0.2/man7/cdist-type__issue.html
new file mode 100644
index 00000000..e42e3106
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__issue.html
@@ -0,0 +1,12 @@
+
+cdist-type__issue - Manage issue
This cdist type allows you to easily setup /etc/issue.
-
+source
+
-
+ If supplied, use this file as /etc/issue instead of default.
+
__issue
+
+# When called from another type
+__issue --source "$__type/files/myfancyissue"
Copyright (C) 2011 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__jail.html b/software/cdist/man/3.0.2/man7/cdist-type__jail.html
new file mode 100644
index 00000000..bbb898a5
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__jail.html
@@ -0,0 +1,78 @@
+
+cdist-type__jail - Manage FreeBSD jails
This type is used on FreeBSD to manage jails.
-
+state
+
-
+ Either "present" or "absent."
+
-
+jailbase
+
-
+ The location of the .tgz archive containing the base fs for your jails.
+
-
+name
+
-
+ The name of the jail. Default is to use the object_id as the jail name.
+
-
+ip
+
-
+ The ifconfig style IP/netmask combination to use for the jail guest. If
+ the state parameter is "present," this parameter is required.
+
-
+hostname
+
-
+ The FQDN to use for the jail guest. Defaults to the name parameter.
+
-
+interface
+
-
+ The name of the physical interface on the jail server to bind the jail to.
+ Defaults to the first interface found in the output of ifconfig -l.
+
-
+devfs-ruleset
+
-
+ The name of the devfs ruleset to associate with the jail. Defaults to
+ "jailrules." This ruleset must be copied to the server via another type.
+ To use this option, devfs-enable must be "true."
+
-
+jaildir
+
-
+ The location on the remote server to use for hosting jail filesystems.
+ Defaults to /usr/jail.
+
-
+stopped
+
-
+ Do not start the jail
+
-
+devfs-disable
+
-
+ Whether to disallow devfs mounting within the jail
+
-
+onboot
+
-
+ Whether to add the jail to rc.conf’s jail_list variable.
+
This type does not currently support modification of jail options. If, for
+example a jail needs to have its IP address or netmask changed, the jail must
+be removed then re-added with the correct IP address/netmask or the appropriate
+line (jail_<name>_ip="…") modified within rc.conf through some alternate
+means.
# Create a jail called www
+__jail www --state present --ip "192.168.1.2" --jailbase /my/jail/base.tgz
+
+# Remove the jail called www
+__jail www --state absent --jailbase /my/jail/base.tgz
+
+# The jail www should not be started
+__jail www --state present --stopped \
+ --ip "192.168.1.2 netmask 255.255.255.0" \
+ --jailbase /my/jail/base.tgz
+
+# Use the name variable explicitly
+__jail thisjail --state present --name www \
+ --ip "192.168.1.2" \
+ --jailbase /my/jail/base.tgz
+
+# Go nuts
+__jail lotsofoptions --state present --name testjail \
+ --ip "192.168.1.100 netmask 255.255.255.0" \
+ --hostname "testjail.example.com" --interface "em0" \
+ --onboot --jailbase /my/jail/base.tgz --jaildir /jails
Copyright (C) 2012 Jake Guffey. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__key_value.html b/software/cdist/man/3.0.2/man7/cdist-type__key_value.html
new file mode 100644
index 00000000..7c378be0
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__key_value.html
@@ -0,0 +1,39 @@
+
+cdist-type__key_value - Change property values in files
This cdist type allows you to change values in a key value based config
+file.
-
+file
+
-
+ The file to operate on.
+
-
+delimiter
+
-
+ The delimiter which seperates the key from the value.
+
-
+state
+
-
+ present or absent, defaults to present. If present, sets the key to value,
+ if absent, removes the key from the file.
+
-
+key
+
-
+ The key to change. Defaults to object_id.
+
-
+value
+
-
+ The value for the key. Optional if state=absent, required otherwise.
+
# Set the maximum system user id
+__key_value SYS_UID_MAX --file /etc/login.defs --value 666 --delimiter ' '
+
+# Same with fancy id
+__key_value my-fancy-id --file /etc/login.defs --key SYS_UID_MAX --value 666 \
+ --delimiter ' '
+
+# Enable packet forwarding
+__key_value net.ipv4.ip_forward --file /etc/sysctl.conf --value 1 \
+ --delimiter '='
+
+# Remove existing key/value
+__key_value LEGACY_KEY --file /etc/somefile --state absent --delimiter '='
Copyright (C) 2011 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__line.html b/software/cdist/man/3.0.2/man7/cdist-type__line.html
new file mode 100644
index 00000000..dd7d91bc
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__line.html
@@ -0,0 +1,37 @@
+
+cdist-type__line - Manage lines in files
This cdist type allows you to add lines and remove lines from files.
-
+state
+
-
+ present or absent, defaults to present
+
-
+line
+
+ Specifies the line which should be absent or present
+
Must be present, if state is present.
+Must not be combined with regex, if state is absent.
-
+regex
+
+ If state is present, search for this pattern and add
+ given line, if the given regular expression does not match.
+
In case of absent, ensure all lines matching the
+regular expression are absent.
The regular expression is interpreted by grep.
Must not be combined with line, if state is absent.
-
+file
+
-
+ If supplied, use this as the destination file.
+ Otherwise the object_id is used.
+
# Manage the DAEMONS line in rc.conf
+__line daemons --file /etc/rc.conf --line 'DAEMONS=(hwclock !network sshd crond postfix)'
+
+# Ensure the home mount is present in /etc/fstab - explicitly make it present
+__line home-fstab \
+ --file /etc/fstab \
+ --line 'filer.fs:/vol/home /home nfs defaults 0 0' \
+ --state present
+
+# Removes the line specifiend in "include_www" from the file "lighttpd.conf"
+__line legacy_timezone --file /etc/rc.conf --regex 'TIMEZONE=.*' --state absent
-
+cdist-type(7)
+
-
+grep(1)
+
Copyright (C) 2012-2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__link.html b/software/cdist/man/3.0.2/man7/cdist-type__link.html
new file mode 100644
index 00000000..e6d5c35d
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__link.html
@@ -0,0 +1,30 @@
+
+cdist-type__link - Manage links (hard and symbolic)
This cdist type allows you to manage hard and symbolic links.
+The given object id is the destination for the link.
-
+source
+
-
+ Specifies the link source.
+
-
+type
+
-
+ Specifies the link type: Either hard or symoblic.
+
-
+state
+
-
+ present or absent, defaults to present
+
# Create hard link of /etc/shadow
+__link /root/shadow --source /etc/shadow --type hard
+
+# Relative symbolic link
+__link /etc/apache2/sites-enabled/www.test.ch \
+ --source ../sites-available/www.test.ch \
+ --type symbolic
+
+# Absolute symbolic link
+__link /opt/plone --source /home/services/plone --type symbolic
+
+# Remove link
+__link /opt/plone --state absent
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).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__locale.html b/software/cdist/man/3.0.2/man7/cdist-type__locale.html
new file mode 100644
index 00000000..3fb03bb1
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__locale.html
@@ -0,0 +1,20 @@
+
+cdist-type__locale - Configure locales
This cdist type allows you to setup locales.
-
+state
+
-
+ present or absent
+
# Add locale de_CH.UTF-8
+__locale de_CH.UTF-8
+
+# Same as above, but more explicit
+__locale de_CH.UTF-8 --state present
+
+# Remove colourful British English
+__locale en_GB.UTF-8 --state absent
-
+locale(1)
+
-
+localedef(1)
+
-
+cdist-type(7)
+
Copyright (C) 2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__motd.html b/software/cdist/man/3.0.2/man7/cdist-type__motd.html
new file mode 100644
index 00000000..0d50dfbd
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__motd.html
@@ -0,0 +1,14 @@
+
+cdist-type__motd - Manage message of the day
This cdist type allows you to easily setup /etc/motd.
-
+source
+
-
+ If supplied, copy this file from the host running cdist to the target.
+ If not supplied, a default message will be placed onto the target.
+
# Use cdist defaults
+__motd
+
+# Supply source file from a different type
+__motd --source "$__type/files/my-motd"
Copyright (C) 2011 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__mount.html b/software/cdist/man/3.0.2/man7/cdist-type__mount.html
new file mode 100644
index 00000000..bf4b8ce6
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__mount.html
@@ -0,0 +1,50 @@
+
+cdist-type__mount - manage filesystem mounts
Manage filesystem mounts either via /etc/fstab or manually.
-
+device
+
-
+ device to mount at path, defaults to none. see mount(8)
+
-
+dump
+
+ value for the dump field in fstab. see fstab(5)
+ defaults to 0.
+
This parameter is ignored, if the nofstab parameter is given.
-
+options
+
-
+ comma separated string of options, see mount(8)
+
-
+pass
+
+ value for the pass field in fstab. see fstab(5)
+ defaults to 0.
+
This parameter is ignored, if the nofstab parameter is given.
-
+path
+
-
+ mount point where to mount the device, see mount(8).
+ Defaults to __object_id
+
-
+state
+
-
+ either present or absent. Defaults to present.
+
-
+type
+
-
+ vfstype, see mount(8)
+
-
+nofstab
+
-
+ do not manage an entry in /etc/fstab
+
__mount /some/dir \
+ --device /dev/sdc3 \
+ --type xfs \
+ --options "defaults,ro"
+ --dump 0 \
+ --pass 1
+
+__mount /var/lib/one \
+ --device mfsmount \
+ --type fuse \
+ --options "mfsmaster=mfsmaster.domain.tld,mfssubfolder=/one,nonempty,_netdev"
Copyright (C) 2014 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__mysql_database.html b/software/cdist/man/3.0.2/man7/cdist-type__mysql_database.html
new file mode 100644
index 00000000..61591cc5
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__mysql_database.html
@@ -0,0 +1,18 @@
+
+cdist-type__mysql_database(7)
cdist-type__mysql_database - Manage a MySQL database
This cdist type allows you to install a MySQL database.
-
+name
+
-
+ The name of the database to install
+ defaults to the object id
+
-
+user
+
-
+ A user that should have access to the database
+
-
+password
+
-
+ The password for the user who manages the database
+
__mysql_database "cdist" --name "cdist" --user "myuser" --password "mypwd"
Copyright (C) 2012 Benedikt Koeppel. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package.html b/software/cdist/man/3.0.2/man7/cdist-type__package.html
new file mode 100644
index 00000000..3bb5d234
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package.html
@@ -0,0 +1,34 @@
+
+cdist-type__package - Manage packages
This cdist type allows you to install or uninstall packages on the target.
+It dispatches the actual work to the package system dependant types.
-
+name
+
-
+ The name of the package to install. Default is to use the object_id as the
+ package name.
+
-
+version
+
-
+ The version of the package to install. Default is to install the version
+ choosen by the local package manager.
+
-
+type
+
-
+ The package type to use. Default is determined based on the $os explorer
+ variable.
+ e.g. package_apt for Debian
+ package_emerge for Gentoo
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
# Install the package vim on the target
+__package vim --state present
+
+# Same but install specific version
+__package vim --state present --version 7.3.50
+
+# Force use of a specific package type
+__package vim --state present --type __package_apt
Copyright (C) 2011 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package_apt.html b/software/cdist/man/3.0.2/man7/cdist-type__package_apt.html
new file mode 100644
index 00000000..b7dcd461
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package_apt.html
@@ -0,0 +1,23 @@
+
+cdist-type__package_apt(7)
cdist-type__package_apt - Manage packages with apt-get
apt-get is usually used on Debian and variants (like Ubuntu) to
+manage packages.
-
+name
+
-
+ If supplied, use the name and not the object id as the package name.
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
# Ensure zsh in installed
+__package_apt zsh --state present
+
+# In case you only want *a* webserver, but don't care which one
+__package_apt webserver --state present --name nginx
+
+# Remove obsolete package
+__package_apt puppet --state absent
-
+cdist-type(7)
+
-
+cdist-type__package(7)
+
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).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package_emerge.html b/software/cdist/man/3.0.2/man7/cdist-type__package_emerge.html
new file mode 100644
index 00000000..28da7a71
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package_emerge.html
@@ -0,0 +1,31 @@
+
+cdist-type__package_emerge(7)
cdist-type__package_emerge - Manage packages with portage
Portage is usually used on the gentoo distribution to manage packages.
+This type requires app-portage/gentoolkit installed on the target host.
+cdist-type__package_emerge_dependencies is supposed to install the needed
+packages on the target host.
-
+name
+
-
+ If supplied, use the name and not the object id as the package name.
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present".
+
-
+version
+
-
+ If supplied, use to install or uninstall a specific version of the package named.
+
# Ensure sys-devel/gcc is installed
+__package_emerge sys-devel/gcc --state present
+
+# If you want a specific version of a package
+__package_emerge app-portage/gentoolkit --state present --version 0.3.0.8-r2
+
+# Remove package
+__package_emerge sys-devel/gcc --state absent
-
+cdist-type(7)
+
-
+cdist-type__package(7)
+
-
+cdist-type__package_emerge_dependencies(7)
+
Copyright (C) 2013 Thomas Oettli. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package_emerge_dependencies.html b/software/cdist/man/3.0.2/man7/cdist-type__package_emerge_dependencies.html
new file mode 100644
index 00000000..d57a0e3b
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package_emerge_dependencies.html
@@ -0,0 +1,13 @@
+
+cdist-type__package_emerge_dependencies(7)
cdist-typepackage_emerge_dependencies - Install dependencies for package_emerge
Portage is usually used on the gentoo distribution to manage packages.
+This type installs the following tools which are required by __package_emerge to work:
+app-portage/flaggie
+app-portage/gentoolkit
# Ensure app-portage/flaggie and app-portage/gentoolkit are installed
+__package_emerge_dependencies
-
+cdist-type(7)
+
-
+cdist-type__package(7)
+
-
+cdist-type__package_emerge(7)
+
Copyright (C) 2013 Thomas Oettli. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package_luarocks.html b/software/cdist/man/3.0.2/man7/cdist-type__package_luarocks.html
new file mode 100644
index 00000000..dc8c7fb9
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package_luarocks.html
@@ -0,0 +1,19 @@
+
+cdist-type__package_luarocks(7)
cdist-type__package_luarocks - Manage luarocks packages
LuaRocks is a deployment and management system for Lua modules.
-
+name
+
-
+ If supplied, use the name and not the object id as the package name.
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
# Ensure luasocket is installed
+__package_luarocks luasocket --state present
+
+# Remove package
+__package_luarocks luasocket --state absent
-
+cdist-type(7)
+
-
+cdist-type__package(7)
+
Copyright (C) 2012 SwellPath, Inc. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package_opkg.html b/software/cdist/man/3.0.2/man7/cdist-type__package_opkg.html
new file mode 100644
index 00000000..ba087159
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package_opkg.html
@@ -0,0 +1,19 @@
+
+cdist-type__package_opkg(7)
cdist-type__package_opkg - Manage packages with opkg
opkg is usually used on OpenWRT to manage packages.
-
+name
+
-
+ If supplied, use the name and not the object id as the package name.
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
# Ensure lsof is installed
+__package_opkg lsof --state present
+
+# Remove obsolete package
+__package_opkg dnsmasq --state absent
-
+cdist-type(7)
+
-
+cdist-type__package(7)
+
Copyright (C) 2012 Giel van Schijndel. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package_pacman.html b/software/cdist/man/3.0.2/man7/cdist-type__package_pacman.html
new file mode 100644
index 00000000..0772b30c
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package_pacman.html
@@ -0,0 +1,22 @@
+
+cdist-type__package_pacman(7)
cdist-type__package_pacman - Manage packages with pacman
Pacman is usually used on the Archlinux distribution to manage packages.
-
+name
+
-
+ If supplied, use the name and not the object id as the package name.
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
# Ensure zsh in installed
+__package_pacman zsh --state present
+
+# If you don't want to follow pythonX packages, but always use python
+__package_pacman python --state present --name python2
+
+# Remove obsolete package
+__package_pacman puppet --state absent
-
+cdist-type(7)
+
-
+cdist-type__package(7)
+
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).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package_pip.html b/software/cdist/man/3.0.2/man7/cdist-type__package_pip.html
new file mode 100644
index 00000000..cde943c7
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package_pip.html
@@ -0,0 +1,24 @@
+
+cdist-type__package_pip(7)
cdist-type__package_pip - Manage packages with pip
Pip is used in Python environments to install packages.
+It is also included in the python virtualenv environment.
-
+name
+
-
+ If supplied, use the name and not the object id as the package name.
+
-
+pip
+
-
+ Instead of using pip from PATH, use the specific pip path.
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
# Install a package
+__package_pip pyro --state present
+
+# Use pip in a virtualenv located at /root/shinken_virtualenv
+__package_pip pyro --state present --pip /root/shinken_virtualenv/bin/pip
-
+cdist-type(7)
+
-
+cdist-type__package(7)
+
Copyright (C) 2012 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package_pkg_freebsd.html b/software/cdist/man/3.0.2/man7/cdist-type__package_pkg_freebsd.html
new file mode 100644
index 00000000..6586d157
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package_pkg_freebsd.html
@@ -0,0 +1,37 @@
+
+cdist-type__package_pkg_freebsd(7)
cdist-type__package_pkg_freebsd - Manage FreeBSD packages
This type is usually used on FreeBSD to manage packages.
-
+name
+
-
+ If supplied, use the name and not the object id as the package name.
+
-
+flavor
+
-
+ If supplied, use to avoid ambiguity.
+
-
+version
+
-
+ If supplied, use to install a specific version of the package named.
+
-
+pkgsite
+
-
+ If supplied, use to install from a specific package repository.
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
# Ensure zsh is installed
+__package_pkg_freebsd zsh --state present
+
+# Ensure vim is installed, use flavor no_x11
+__package_pkg_freebsd vim --state present --flavor no_x11
+
+# If you don't want to follow pythonX packages, but always use python
+__package_pkg_freebsd python --state present --name python2
+
+# Remove obsolete package
+__package_pkg_freebsd puppet --state absent
-
+cdist-type(7)
+
-
+cdist-type__package(7)
+
Copyright (C) 2012 Jake Guffey. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package_pkg_openbsd.html b/software/cdist/man/3.0.2/man7/cdist-type__package_pkg_openbsd.html
new file mode 100644
index 00000000..4dfc39f6
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package_pkg_openbsd.html
@@ -0,0 +1,29 @@
+
+cdist-type__package_pkg(7)
cdist-type__package_pkg_openbsd - Manage OpenBSD packages
This type is usually used on OpenBSD to manage packages.
-
+name
+
-
+ If supplied, use the name and not the object id as the package name.
+
-
+flavor
+
-
+ If supplied, use to avoid ambiguity.
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
# Ensure zsh is installed
+__package_pkg_openbsd zsh --state present
+
+# Ensure vim is installed, use flavor no_x11
+__package_pkg_openbsd vim --state present --flavor no_x11
+
+# If you don't want to follow pythonX packages, but always use python
+__package_pkg_openbsd python --state present --name python2
+
+# Remove obsolete package
+__package_pkg_openbsd puppet --state absent
-
+cdist-type(7)
+
-
+cdist-type__package(7)
+
Copyright (C) 2011 Andi Brönnimann. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package_rubygem.html b/software/cdist/man/3.0.2/man7/cdist-type__package_rubygem.html
new file mode 100644
index 00000000..6293ec86
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package_rubygem.html
@@ -0,0 +1,19 @@
+
+cdist-type__package_rubygem(7)
cdist-type__package_rubygem - Manage rubygem packages
Rubygems is the default package management system for the Ruby programming language.
-
+name
+
-
+ If supplied, use the name and not the object id as the package name.
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
# Ensure sinatra is installed
+__package_rubygem sinatra --state present
+
+# Remove package
+__package_rubygem rails --state absent
-
+cdist-type(7)
+
-
+cdist-type__package(7)
+
Copyright (C) 2011 Chase Allen James. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package_yum.html b/software/cdist/man/3.0.2/man7/cdist-type__package_yum.html
new file mode 100644
index 00000000..e8f10f54
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package_yum.html
@@ -0,0 +1,24 @@
+
+cdist-type__package_yum(7)
cdist-type__package_yum - Manage packages with yum
Yum is usually used on the Fedora distribution to manage packages.
+If you specify an unknown package, yum will display the
+slightly confusing error message "Error: Nothing to do".
-
+name
+
-
+ If supplied, use the name and not the object id as the package name.
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
# Ensure zsh in installed
+__package_yum zsh --state present
+
+# If you don't want to follow pythonX packages, but always use python
+__package_yum python --state present --name python2
+
+# Remove obsolete package
+__package_yum puppet --state absent
-
+cdist-type(7)
+
-
+cdist-type__package(7)
+
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).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__package_zypper.html b/software/cdist/man/3.0.2/man7/cdist-type__package_zypper.html
new file mode 100644
index 00000000..8c88248a
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__package_zypper.html
@@ -0,0 +1,39 @@
+
+cdist-type__package_zypper(7)
cdist-type__package_zypper - Manage packages with zypper
Zypper is usually used on the SuSE distribution to manage packages.
-
+name
+
-
+ If supplied, use the name and not the object id as the package name.
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
-
+version
+
-
+ The version of the package to install. Default is to install the version
+ choosen by the local package manager. For a list of available versions,
+ have a look at the output of "zypper se -s packagename"
+
-
+ptype
+
-
+ Either "package", "patch", "pattern", "product" or "srcpackage", defaults to "package". For a description see man zypper.
+
# Ensure zsh is installed
+__package_zypper zsh --state present
+
+# If you don't want to follow pythonX packages, but always use python
+__package_zypper python --state present --name python2
+
+# Ensure binutils is installed and the version is forced to be 2.23.1-0.19.2
+__package_zypper binutils --state present --version 2.23.1-0.19.2
+
+# Remove package
+__package_zypper cfengine --state absent
+
+# install all packages which belongs to pattern x11
+__package_zypper x11 --ptype pattern --state present
-
+cdist-type(7)
+
-
+cdist-type__package(7)
+
Copyright (C) 2012 Nico Schottelius.
+Copyright (C) 2013 Daniel Heule.
+Free use of this software is granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__pf_apply.html b/software/cdist/man/3.0.2/man7/cdist-type__pf_apply.html
new file mode 100644
index 00000000..3dc5f1a1
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__pf_apply.html
@@ -0,0 +1,17 @@
+
+cdist-type__pf_apply - Apply pf(4) ruleset on *BSD
This type is used on *BSD systems to manage the pf firewall’s active ruleset.
# Modify the ruleset on $__target_host:
+__pf_ruleset --state present --source /my/pf/ruleset.conf
+require="__pf_ruleset" \
+ __pf_apply
+
+# Remove the ruleset on $__target_host (implies disabling pf(4):
+__pf_ruleset --state absent
+require="__pf_ruleset" \
+ __pf_apply
-
+cdist-type(7)
+
-
+cdist-type__pf_ruleset(7)
+
-
+pf(4)
+
Copyright (C) 2012 Jake Guffey. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__pf_ruleset.html b/software/cdist/man/3.0.2/man7/cdist-type__pf_ruleset.html
new file mode 100644
index 00000000..d1faffad
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__pf_ruleset.html
@@ -0,0 +1,21 @@
+
+cdist-type__pf_ruleset(7)
cdist-typepf_ruleset - Copy a pf(4) ruleset to $target_host
This type is used on *BSD systems to manage the pf firewall’s ruleset.
-
+state
+
-
+ Either "absent" (no ruleset at all) or "present"
+
-
+source
+
-
+ If supplied, use to define the ruleset to load onto the $__target_host for pf(4).
+ Note that this type is almost useless without a ruleset defined, but it’s technically not
+ needed, e.g. for the case of disabling the firewall temporarily.
+
# Remove the current ruleset in place
+__pf_ruleset --state absent
+
+# Enable the firewall with the ruleset defined in $__manifest/files/pf.conf
+__pf_ruleset --state present --source $__manifest/files/pf.conf
-
+cdist-type(7)
+
-
+pf(4)
+
Copyright (C) 2012 Jake Guffey. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__postfix.html b/software/cdist/man/3.0.2/man7/cdist-type__postfix.html
new file mode 100644
index 00000000..0d913c8a
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__postfix.html
@@ -0,0 +1,5 @@
+
+cdist-type__postfix - install postfix
This space intentionally left blank.
Copyright (C) 2012 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__postfix_master.html b/software/cdist/man/3.0.2/man7/cdist-type__postfix_master.html
new file mode 100644
index 00000000..c0775728
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__postfix_master.html
@@ -0,0 +1,52 @@
+
+cdist-type__postfix_master(7)
cdist-type__postfix_master - configure postfix master.cf
See master(5) for more information.
-
+type
+
-
+ See master(5)
+
-
+command
+
-
+ See master(5)
+
-
+noreload
+
-
+ don’t reload postfix after changes
+
-
+state
+
-
+ present or absent, defaults to present
+
-
+service
+,
+private
+,
+unpriv
+,
+chroot
+,
+wakeup
+,
+maxproc
+,
+option
+
-
+ Pass an option to a service. Same as using -o in master.cf.
+ Can be specified multiple times.
+
-
+comment
+
-
+ a textual comment to add with the master.cf entry
+
__postfix_master smtp --type inet --command smtpd
+
+__postfix_master smtp --type inet --chroot y --command smtpd \
+ --option smtpd_enforce_tls=yes \
+ --option smtpd_sasl_auth_enable=yes \
+ --option smtpd_client_restrictions=permit_sasl_authenticated,reject
+
+__postfix_master submission --type inet --command smtpd \
+ --comment "Run alternative smtp on submission port"
-
+cdist-type(7)
+
-
+master(5)
+
Copyright (C) 2012 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__postfix_postconf.html b/software/cdist/man/3.0.2/man7/cdist-type__postfix_postconf.html
new file mode 100644
index 00000000..d032ab33
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__postfix_postconf.html
@@ -0,0 +1,18 @@
+
+cdist-type__postfix_postconf(7)
cdist-type__postfix_postconf - configure postfix main.cf
See postconf(5) for possible keys and values.
Note that this type directly runs the postconf executable.
+It does not make changes to /etc/postfix/main.cf itself.
-
+value
+
-
+ the value for the postfix parameter
+
-
+key
+
-
+ the name of the parameter. Defaults to __object_id
+
__postfix_postconf mydomain --value somedomain.com
+
+__postfix_postconf bind-to-special-ip --key smtp_bind_address --value 127.0.0.5
-
+cdist-type(7)
+
-
+postconf(5)
+
Copyright (C) 2012 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__postfix_postmap.html b/software/cdist/man/3.0.2/man7/cdist-type__postfix_postmap.html
new file mode 100644
index 00000000..28fca36a
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__postfix_postmap.html
@@ -0,0 +1,5 @@
+
+cdist-type__postfix_postmap(7)
cdist-type__postfix_postmap - run postmap on the given file
This space intentionally left blank.
__postfix_postmap /etc/postfix/generic
Copyright (C) 2012 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__postfix_reload.html b/software/cdist/man/3.0.2/man7/cdist-type__postfix_reload.html
new file mode 100644
index 00000000..44251e52
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__postfix_reload.html
@@ -0,0 +1,5 @@
+
+cdist-type__postfix_reload(7)
cdist-type__postfix_reload - tell postfix to reload its configuration
This space intentionally left blank.
Copyright (C) 2012 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__postgres_database.html b/software/cdist/man/3.0.2/man7/cdist-type__postgres_database.html
new file mode 100644
index 00000000..3838b181
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__postgres_database.html
@@ -0,0 +1,15 @@
+
+cdist-type__postgres_database(7)
cdist-type__postgres_database - create/drop postgres databases
This cdist type allows you to create or drop postgres databases.
-
+state
+
-
+ either present or absent
+
-
+owner
+
-
+ the role owning this database
+
__postgres_database mydbname --owner mydbusername
-
+cdist-type(7)
+
-
+cdist-type__postgres_role(7)
+
Copyright (C) 2011 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__postgres_role.html b/software/cdist/man/3.0.2/man7/cdist-type__postgres_role.html
new file mode 100644
index 00000000..1fbdc0b8
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__postgres_role.html
@@ -0,0 +1,33 @@
+
+cdist-type__postgres_role(7)
cdist-type__postgres_role - manage postgres roles
This cdist type allows you to create or drop postgres roles.
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
All other parameters map directly to the corresponding postgres createrole
+parameters.
-
+password
+
-
+BOOLEAN PARAMETERS
+
All parameter map directly to the corresponding postgres createrole
+parameters.
+
+login::
+createdb::
+createrole::
+superuser::
+inherit::
+
+EXAMPLES
__postgres_role myrole
+
+__postgres_role myrole --password 'secret'
+
+__postgres_role admin --password 'very-secret' --superuser
+
+__postgres_role dbcustomer --password 'bla' --createdb
Copyright (C) 2011 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__process.html b/software/cdist/man/3.0.2/man7/cdist-type__process.html
new file mode 100644
index 00000000..58d2586f
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__process.html
@@ -0,0 +1,43 @@
+
+cdist-type__process - Start or stop process
This cdist type allows you to define the state of a process.
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
-
+name
+
+ Process name to match on when using pgrep -f -x.
+
This is useful, if the name starts with a "/",
+because the leading slash is stripped away from
+the object id by cdist.
-
+stop
+
-
+ Executable to use for stopping the process.
+
-
+start
+
-
+ Executable to use for starting the process.
+
# Start if not running
+__process /usr/sbin/syslog-ng --state present
+
+# Start if not running with a different binary
+__process /usr/sbin/nginx --state present --start "/etc/rc.d/nginx start"
+
+# Stop the process using kill (the type default) - DO NOT USE THIS
+__process /usr/sbin/sshd --state absent
+
+# Stop the process using /etc/rc.d/sshd stop - THIS ONE NOT AS WELL
+__process /usr/sbin/sshd --state absent --stop "/etc/rc.d/sshd stop"
+
+# Ensure cups is running, which runs with -C ...:
+__process cups --start "/etc/rc.d/cups start" --state present \
+ --name "/usr/sbin/cupsd -C /etc/cups/cupsd.conf"
+
+# Ensure rpc.statd is running (which usually runs with -L) using a regexp
+__process rpcstatd --state present --start "/etc/init.d/statd start" \
+ --name "rpc.statd.*"
-
+cdist-type(7)
+
-
+cdist-type__start_on_boot(7)
+
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).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__qemu_img.html b/software/cdist/man/3.0.2/man7/cdist-type__qemu_img.html
new file mode 100644
index 00000000..3170b582
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__qemu_img.html
@@ -0,0 +1,19 @@
+
+cdist-type__qemu_img - Manage VM disk images
The qemu-img program is used to create qemu images for
+qemu and (qemu-)kvm.
-
+size
+
-
+ Size of the image in qemu-img compatible units.
+ See qemu-img(1).
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
# Create a 50G size image
+__qemu_img /home/services/kvm/vm/myvmname/system-disk --size 50G
+
+# Remove image
+__qemu_img /home/services/kvm/vm/myoldvm/system-disk --state absent
Copyright (C) 2012 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__rvm.html b/software/cdist/man/3.0.2/man7/cdist-type__rvm.html
new file mode 100644
index 00000000..4a038400
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__rvm.html
@@ -0,0 +1,19 @@
+
+cdist-type__rvm - Install rvm for a given user
RVM is the Ruby enVironment Manager for the Ruby programming language.
-
+state
+
-
+ Either "present" or "absent".
+
# Install rvm for user billie
+__rvm billie --state present
+
+# Remove rvm
+__rvm billie --state absent
-
+cdist-type(7)
+
-
+cdist-type__rvm_ruby(7)
+
-
+cdist-type__rvm_gemset(7)
+
-
+cdist-type__rvm_gem(7)
+
Copyright (C) 2012 Evax Software. Free use of this software is granted under
+the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__rvm_gem.html b/software/cdist/man/3.0.2/man7/cdist-type__rvm_gem.html
new file mode 100644
index 00000000..4fec9a40
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__rvm_gem.html
@@ -0,0 +1,35 @@
+
+cdist-type__rvm_gemset(7)
cdist-type__rvm_gem - Manage Ruby gems through rvm
RVM is the Ruby enVironment Manager for the Ruby programming language.
-
+user
+
-
+ The remote user account to use
+
-
+gemset
+
-
+ The gemset to use
+
-
+state
+
-
+ Either "present" or "absent"
+
-
+default
+
-
+ Make the selected gemset the default
+
# Install the rails gem in gemset ruby-1.9.3-p0@myset for user bill
+__rvm_gemset rails --gemset ruby-1.9.3-p0@myset --user bill --state present
+
+# Do the same and also make ruby-1.9.3-p0@myset the default gemset
+__rvm_gemset rails --gemset ruby-1.9.3-p0@myset --user bill \
+ --state present --default
+
+# Remove it
+__rvm_ruby rails --gemset ruby-1.9.3-p0@myset --user bill --state absent
-
+cdist-type(7)
+
-
+cdist-type__rvm(7)
+
-
+cdist-type__rvm_ruby(7)
+
-
+cdist-type__rvm_gemset(7)
+
Copyright (C) 2012 Evax Software. Free use of this software is granted under
+the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__rvm_gemset.html b/software/cdist/man/3.0.2/man7/cdist-type__rvm_gemset.html
new file mode 100644
index 00000000..1567ab83
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__rvm_gemset.html
@@ -0,0 +1,30 @@
+
+cdist-type__rvm_gemset(7)
cdist-type__rvm_gemset - Manage gemsets through rvm
RVM is the Ruby enVironment Manager for the Ruby programming language.
-
+user
+
-
+ The remote user account to use
+
-
+state
+
-
+ Either "present" or "absent".
+
-
+default
+
-
+ If present, set the given gemset as default.
+
# Install the gemset @myset for user charles on based on ruby-1.9.3-0
+__rvm_gemset ruby-1.9.3-p0@myset --user charles --state present
+
+# Do the same and make ruby-1.9.3-p0@myset the default gemset
+__rvm_gemset ruby-1.9.3-p0@myset --user charles --state present --default
+
+# Remove the gemset @myset for user john
+__rvm_ruby ruby-1.9.3-p0@myset --user john --state absent
-
+cdist-type(7)
+
-
+cdist-type__rvm(7)
+
-
+cdist-type__rvm_ruby(7)
+
-
+cdist-type__rvm_gem(7)
+
Copyright (C) 2012 Evax Software. Free use of this software is granted under
+the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__rvm_ruby.html b/software/cdist/man/3.0.2/man7/cdist-type__rvm_ruby.html
new file mode 100644
index 00000000..707bb94c
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__rvm_ruby.html
@@ -0,0 +1,27 @@
+
+cdist-type__rvm_ruby - Manage ruby installations through rvm
RVM is the Ruby enVironment Manager for the Ruby programming language.
-
+user
+
-
+ The remote user account to use
+
-
+state
+
-
+ Either "present" or "absent".
+
default:
+ Set the given version as default
# Install ruby 1.9.3 through rvm for user thelonious
+__rvm_ruby ruby-1.9.3-p0 --user thelonious --state present
+
+# Install ruby 1.9.3 through rvm for user ornette and make it the default
+__rvm_ruby ruby-1.9.3-p0 --user ornette --state present --default
+
+# Remove ruby 1.9.3 for user john
+__rvm_ruby ruby-1.9.3-p0 --user john --state absent
-
+cdist-type(7)
+
-
+cdist-type__rvm(7)
+
-
+cdist-type__rvm_gemset(7)
+
-
+cdist-type__rvm_gem(7)
+
Copyright (C) 2012 Evax Software. Free use of this software is granted under
+the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__ssh_authorized_keys.html b/software/cdist/man/3.0.2/man7/cdist-type__ssh_authorized_keys.html
new file mode 100644
index 00000000..ae34172b
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__ssh_authorized_keys.html
@@ -0,0 +1,68 @@
+
+cdist-type__ssh_authorized_keys(7)
cdist-type__ssh_authorized_keys - manage ssh authorized_keys files
Adds or removes ssh keys from a authorized_keys file.
This type also manages the directory containing the authorized_keys
+file and sets strict ownership and permissions. You can disable this feature
+with the --noparent boolean parameter.
The existence, ownership and permissions of the authorized_keys file itself are
+also managed. This can be disabled with the --nofile boolean parameter. It is
+then left to the user to ensure that the file exists and that ownership and
+permissions work with ssh.
-
+key
+
-
+ the ssh key which shall be added to this authorized_keys file.
+ Must be a string and can be specified multiple times.
+
-
+owner
+
-
+ the user owning the authorized_keys file, defaults to object_id.
+
-
+state
+
-
+ if the given keys should be present or absent, defaults to present.
+
-
+file
+
-
+ an alternative destination file, defaults to ~$owner/.ssh/authorized_keys
+
-
+comment
+
-
+ an optional comment
+
-
+noparent
+
-
+ don’t create or change ownership and permissions of the directory containing
+ the authorized_keys file
+
-
+nofile
+
-
+ don’t manage existence, ownership and permissions of the the authorized_keys
+ file
+
# add your ssh key to remote root's authorized_keys file
+__ssh_authorized_keys root \
+ --key "$(cat ~/.ssh/id_rsa.pub)"
+
+# allow key to login as user-name
+__ssh_authorized_keys user-name \
+ --key "ssh-rsa AXYZAAB3NzaC1yc2..."
+
+# same as above, but with explicit owner, two keys and a comment
+__ssh_authorized_keys some-fancy-id \
+ --owner user-name \
+ --key "ssh-rsa AXYZAAB3NzaC1yc2..." \
+ --key "ssh-rsa AZXYAAB3NzaC1yc2..." \
+ --comment "allow the members of project foo to login"
+
+# same as above, but authorized_keys file in non standard location
+__ssh_authorized_keys some-fancy-id \
+ --file /etc/ssh/keys/user-name/authorized_keys \
+ --owner user-name \
+ --key "ssh-rsa AXYZAAB3NzaC1yc2..."
+
+# same as above, but directory and authorized_keys file is created elswhere
+__ssh_authorized_keys some-fancy-id \
+ --file /etc/ssh/keys/user-name/authorized_keys \
+ --owner user-name \
+ --noparent \
+ --nofile \
+ --key "ssh-rsa AXYZAAB3NzaC1yc2..."
Copyright (C) 2012 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__start_on_boot.html b/software/cdist/man/3.0.2/man7/cdist-type__start_on_boot.html
new file mode 100644
index 00000000..fc4b98c8
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__start_on_boot.html
@@ -0,0 +1,24 @@
+
+cdist-type__start_on_boot(7)
cdist-type__start_on_boot - Manage stuff to be started at boot
This cdist type allows you to enable or disable stuff to be started
+at boot of your operating system.
Warning: This type has not been tested intensively and is not fully
+supported (i.e. *bsd are not implemented).
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
-
+target_runlevel
+
-
+ Runlevel which should be modified, defaults to "default" (only used on gentoo systems).
+
# Ensure snmpd is started at boot
+__start_on_boot snmpd
+
+# Same, but more explicit
+__start_on_boot snmpd --state present
+
+# Ensure legacy configuration management will not be started
+__start_on_boot puppet --state absent
-
+cdist-type(7)
+
-
+cdist-type__process(7)
+
Copyright (C) 2012 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__timezone.html b/software/cdist/man/3.0.2/man7/cdist-type__timezone.html
new file mode 100644
index 00000000..bc290430
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__timezone.html
@@ -0,0 +1,10 @@
+
+cdist-type__timezone - Allows to configure the desired localtime timezone.
This type creates a symlink (/etc/localtime) to the selected timezone
+(which should be available in /usr/share/zoneinfo).
#Set up Europe/Andorra as our timezone.
+__timezone Europe/Andorra
+
+#Set up US/Central as our timezone.
+__timezone US/Central
Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__update_alternatives.html b/software/cdist/man/3.0.2/man7/cdist-type__update_alternatives.html
new file mode 100644
index 00000000..527f58fb
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__update_alternatives.html
@@ -0,0 +1,16 @@
+
+cdist-type__update_alternatives(7)
cdist-type__update_alternatives - Configure alternatives
On Debian and alike systems update-alternatives(1) can be used
+to setup alternatives for various programs.
+One of the most common used targets is the "editor".
-
+path
+
-
+ Use this path for the given alternative
+
# Setup vim as the default editor
+__update_alternatives editor --path /usr/bin/vim.basic
-
+cdist-type(7)
+
-
+cdist-type__debconf_set_selections(7)
+
-
+update-alternatives(8)
+
Copyright (C) 2013 Nico Schottelius. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__user.html b/software/cdist/man/3.0.2/man7/cdist-type__user.html
new file mode 100644
index 00000000..537498c4
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__user.html
@@ -0,0 +1,68 @@
+
+cdist-type__user - Manage users
This cdist type allows you to create or modify users on the target.
-
+state
+
-
+ absent or present, defaults to present
+
-
+comment
+
-
+ see usermod(8)
+
-
+home
+
-
+ see above
+
-
+gid
+
-
+ see above
+
-
+password
+
-
+ see above
+
-
+shell
+
-
+ see above
+
-
+uid
+
-
+ see above
+
-
+system
+
-
+ see useradd(8), apply only on user create
+
-
+create-home
+
-
+ see useradd(8), apply only on user create
+
-
+remove-home
+
-
+ see userdel(8), apply only on user delete
+
-
+mod
+
-
+ User is modified
+
-
+add
+
-
+ New user added
+
# Create user account for foobar with operating system default settings
+__user foobar
+
+# Same but with a different shell
+__user foobar --shell /bin/zsh
+
+# Same but for a system account
+__user foobar --system
+
+# Set explicit uid and home
+__user foobar --uid 1001 --shell /bin/zsh --home /home/foobar
+
+# Drop user if exists
+__user foobar --state absent
-
+cdist-type(7)
+
-
+usermod(8) or pw(8)
+
Copyright (C) 2011 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__user_groups.html b/software/cdist/man/3.0.2/man7/cdist-type__user_groups.html
new file mode 100644
index 00000000..8aee430b
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__user_groups.html
@@ -0,0 +1,22 @@
+
+cdist-type__user_groups(7)
cdist-type__user_groups - manage user groups
Adds or removes a user from one or more groups.
-
+group
+
-
+ the group to which this user should be added or removed.
+ Can be specified multiple times.
+
-
+user
+
-
+ the name of the user. Defaults to object_id
+
-
+state
+
-
+ absent or present. Defaults to present.
+
__user_groups nginx --group webuser1 --group webuser2
+
+# remove user nginx from groups webuser2
+__user_groups nginx-webuser2 --user nginx \
+ --group webuser2 --state absent
Copyright (C) 2012 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__zypper_repo.html b/software/cdist/man/3.0.2/man7/cdist-type__zypper_repo.html
new file mode 100644
index 00000000..6ccf9aa1
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__zypper_repo.html
@@ -0,0 +1,42 @@
+
+cdist-type__zypper_repo(7)
cdist-type__zypper_repo - repository management with zypper
zypper is usually used on the SuSE distribution to manage repositories.
-
+state
+
-
+ Either "present" or "absent" or "enabled" or "disabled", defaults to "present"
+ present - make sure that the repo is aviable, needs repo_uri and repo_desc
+ for all following states, the repo can be searched via repo_id or repo_uri
+ absent - drop the repo if found
+ enabled - a repo can have state disabled if installed via zypper service (ris), in this case, you can enable the repo
+ disabled - instead of absent (drop), a repo can also set to disabled, wich makes it inaccessible
+
-
+repo_uri
+
-
+ If supplied, use the uri and not the object id as repo uri.
+
-
+repo_desc
+
-
+ If supplied, use the description and not the object id as repo description, only used if the state is present and the repo has to be created
+
-
+repo_id
+
-
+ If supplied, use the id and not the object id as repo id, can be used with state absent, enabled and disabled
+
# Ensure testrepo in installed
+__zypper_repo testrepo --state present --repo_uri http://url.to.your.repo/with/path
+
+# Drop repo by repo uri
+__zypper_repo testrepo --state absent --repo_uri http://url.to.your.repo/with/path
+
+# Drop repo by id number (attention: repos are always numbered from 1 to max)
+__zypper_repo testrepo --state absent --repo_id 1
+
+# enable repo by id
+__zypper_repo testrepo2 --state enabled --repo_id 2
+
+# enable repo by uri
+__zypper_repo testrepo3 --state enabled --repo_uri http://url.to.your.repo/with/path
+
+# disable a repo works like enabling it
+__zypper_repo testrepo4 --state disabled --repo_id 4
Copyright (C) 2013 Daniel Heule. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/cdist-type__zypper_service.html b/software/cdist/man/3.0.2/man7/cdist-type__zypper_service.html
new file mode 100644
index 00000000..fd765cc0
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/cdist-type__zypper_service.html
@@ -0,0 +1,36 @@
+
+cdist-type__zypper_service(7)
cdist-type__zypper_service - service management with zypper
zypper is usually used on SuSE systems to manage services.
-
+service_uri
+
-
+ Uri of the service
+
-
+service_desc
+
-
+ If supplied, use the service_desc and not the object id as descritpion for the service.
+
-
+state
+
-
+ Either "present" or "absent", defaults to "present"
+
-
+type
+
-
+ Defaults to "ris", the standard type of services at SLES11. For other values, see manpage of zypper.
+
-
+remove-all-other-services
+
-
+ Drop all other services found on the target host before adding the new one.
+
-
+remove-all-repos
+
-
+ If supplied, remove all existing repos prior to setup the new service.
+
# Ensure that internal SLES11 SP3 RIS is in installed and all other services and repos are discarded
+__zypper_service INTERNAL_SLES11_SP3 --service_desc "Internal SLES11 SP3 RIS" --service_uri "http://path/to/your/ris/dir" --remove-all-other-services --remove-all-repos
+
+# Ensure that internal SLES11 SP3 RIS is in installed, no changes to ohter services or repos
+__zypper_service INTERNAL_SLES11_SP3 --service_desc "Internal SLES11 SP3 RIS" --service_uri "http://path/to/your/ris/dir"
+
+# Drop service by uri, no changes to ohter services or repos
+__zypper_service INTERNAL_SLES11_SP3 --state absent --service_uri "http://path/to/your/ris/dir"
Copyright (C) 2013 Daniel Heule. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
\ No newline at end of file
diff --git a/software/cdist/man/3.0.2/man7/docbook-xsl.css b/software/cdist/man/3.0.2/man7/docbook-xsl.css
new file mode 100644
index 00000000..ee9ca46d
--- /dev/null
+++ b/software/cdist/man/3.0.2/man7/docbook-xsl.css
@@ -0,0 +1,329 @@
+/*
+ CSS stylesheet for XHTML produced by DocBook XSL stylesheets.
+*/
+
+body {
+ font-family: Georgia,serif;
+}
+
+code, pre {
+ font-family: "Courier New", Courier, monospace;
+}
+
+span.strong {
+ font-weight: bold;
+}
+
+body blockquote {
+ margin-top: .75em;
+ line-height: 1.5;
+ margin-bottom: .75em;
+}
+
+html body {
+ margin: 1em 5% 1em 5%;
+ line-height: 1.2;
+}
+
+body div {
+ margin: 0;
+}
+
+h1, h2, h3, h4, h5, h6
+{
+ color: #527bbd;
+ font-family: Arial,Helvetica,sans-serif;
+}
+
+div.toc p:first-child,
+div.list-of-figures p:first-child,
+div.list-of-tables p:first-child,
+div.list-of-examples p:first-child,
+div.example p.title,
+div.sidebar p.title
+{
+ font-weight: bold;
+ color: #527bbd;
+ font-family: Arial,Helvetica,sans-serif;
+ margin-bottom: 0.2em;
+}
+
+body h1 {
+ margin: .0em 0 0 -4%;
+ line-height: 1.3;
+ border-bottom: 2px solid silver;
+}
+
+body h2 {
+ margin: 0.5em 0 0 -4%;
+ line-height: 1.3;
+ border-bottom: 2px solid silver;
+}
+
+body h3 {
+ margin: .8em 0 0 -3%;
+ line-height: 1.3;
+}
+
+body h4 {
+ margin: .8em 0 0 -3%;
+ line-height: 1.3;
+}
+
+body h5 {
+ margin: .8em 0 0 -2%;
+ line-height: 1.3;
+}
+
+body h6 {
+ margin: .8em 0 0 -1%;
+ line-height: 1.3;
+}
+
+body hr {
+ border: none; /* Broken on IE6 */
+}
+div.footnotes hr {
+ border: 1px solid silver;
+}
+
+div.navheader th, div.navheader td, div.navfooter td {
+ font-family: Arial,Helvetica,sans-serif;
+ font-size: 0.9em;
+ font-weight: bold;
+ color: #527bbd;
+}
+div.navheader img, div.navfooter img {
+ border-style: none;
+}
+div.navheader a, div.navfooter a {
+ font-weight: normal;
+}
+div.navfooter hr {
+ border: 1px solid silver;
+}
+
+body td {
+ line-height: 1.2
+}
+
+body th {
+ line-height: 1.2;
+}
+
+ol {
+ line-height: 1.2;
+}
+
+ul, body dir, body menu {
+ line-height: 1.2;
+}
+
+html {
+ margin: 0;
+ padding: 0;
+}
+
+body h1, body h2, body h3, body h4, body h5, body h6 {
+ margin-left: 0
+}
+
+body pre {
+ margin: 0.5em 10% 0.5em 1em;
+ line-height: 1.0;
+ color: navy;
+}
+
+tt.literal, code.literal {
+ color: navy;
+}
+
+.programlisting, .screen {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ margin: 0.5em 10% 0.5em 0;
+ padding: 0.5em 1em;
+}
+
+div.sidebar {
+ background: #ffffee;
+ margin: 1.0em 10% 0.5em 0;
+ padding: 0.5em 1em;
+ border: 1px solid silver;
+}
+div.sidebar * { padding: 0; }
+div.sidebar div { margin: 0; }
+div.sidebar p.title {
+ margin-top: 0.5em;
+ margin-bottom: 0.2em;
+}
+
+div.bibliomixed {
+ margin: 0.5em 5% 0.5em 1em;
+}
+
+div.glossary dt {
+ font-weight: bold;
+}
+div.glossary dd p {
+ margin-top: 0.2em;
+}
+
+dl {
+ margin: .8em 0;
+ line-height: 1.2;
+}
+
+dt {
+ margin-top: 0.5em;
+}
+
+dt span.term {
+ font-style: normal;
+ color: navy;
+}
+
+div.variablelist dd p {
+ margin-top: 0;
+}
+
+div.itemizedlist li, div.orderedlist li {
+ margin-left: -0.8em;
+ margin-top: 0.5em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+
+div.sidebar ul, div.sidebar ol {
+ margin-left: 2.8em;
+}
+
+div.itemizedlist p.title,
+div.orderedlist p.title,
+div.variablelist p.title
+{
+ margin-bottom: -0.8em;
+}
+
+div.revhistory table {
+ border-collapse: collapse;
+ border: none;
+}
+div.revhistory th {
+ border: none;
+ color: #527bbd;
+ font-family: Arial,Helvetica,sans-serif;
+}
+div.revhistory td {
+ border: 1px solid silver;
+}
+
+/* Keep TOC and index lines close together. */
+div.toc dl, div.toc dt,
+div.list-of-figures dl, div.list-of-figures dt,
+div.list-of-tables dl, div.list-of-tables dt,
+div.indexdiv dl, div.indexdiv dt
+{
+ line-height: normal;
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+/*
+ Table styling does not work because of overriding attributes in
+ generated HTML.
+*/
+div.table table,
+div.informaltable table
+{
+ margin-left: 0;
+ margin-right: 5%;
+ margin-bottom: 0.8em;
+}
+div.informaltable table
+{
+ margin-top: 0.4em
+}
+div.table thead,
+div.table tfoot,
+div.table tbody,
+div.informaltable thead,
+div.informaltable tfoot,
+div.informaltable tbody
+{
+ /* No effect in IE6. */
+ border-top: 3px solid #527bbd;
+ border-bottom: 3px solid #527bbd;
+}
+div.table thead, div.table tfoot,
+div.informaltable thead, div.informaltable tfoot
+{
+ font-weight: bold;
+}
+
+div.mediaobject img {
+ margin-bottom: 0.8em;
+}
+div.figure p.title,
+div.table p.title
+{
+ margin-top: 1em;
+ margin-bottom: 0.4em;
+}
+
+div.calloutlist p
+{
+ margin-top: 0em;
+ margin-bottom: 0.4em;
+}
+
+a img {
+ border-style: none;
+}
+
+@media print {
+ div.navheader, div.navfooter { display: none; }
+}
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }