forked from ungleich-public/cdist
many more ideas for the config layout, many cleanups
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
e43e910012
commit
0ccb5ebcdb
1 changed files with 101 additions and 27 deletions
|
@ -1,33 +1,89 @@
|
|||
On the server:
|
||||
|
||||
conf/manifests/init
|
||||
- the central entry point
|
||||
- is a shell script
|
||||
- defines mapping from types to hosts
|
||||
- will be called by cdist and the name
|
||||
will be available for tracking in
|
||||
cdist core functions
|
||||
|
||||
conf/manifests/* (all other)
|
||||
- same function as above
|
||||
- but won't be called by cdist
|
||||
- method to seperate configuration parts
|
||||
cdist-config-layout(7)
|
||||
======================
|
||||
Nico Schottelius <nico-cdist--@--schottelius.org>
|
||||
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
cdist-config-layout - Usage of paths in cdist
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
If not otherwise specified, all paths are relative to the configuration
|
||||
directory, which is normally /etc/cdist (but can be changed using environment
|
||||
variables, see cdist-environment(7)).
|
||||
|
||||
- manifests/init:
|
||||
This is the central entry point used by cdist-manifest-init(1).
|
||||
It is an executable (+x bit set) shell script that can use
|
||||
values for the explorers to decide which configuration to create
|
||||
for the specified target host.
|
||||
|
||||
It should be primary used to define mapping from configurations to hosts.
|
||||
|
||||
- manifests/*: All other files in this directory
|
||||
Cdist does not use them directly, but you can seperate
|
||||
configuration mappings, if you have a lot of code in the manifest/init
|
||||
file. This may also be very helpful to have different admins maintain
|
||||
different groups of hosts.
|
||||
|
||||
- explorers/<name>
|
||||
Contains explorers to be run on the target hosts, see cdist-explorers(7).
|
||||
|
||||
- types/
|
||||
Contains all available types, which are used to provide
|
||||
some kind of functionality. See cdist-stages(7).
|
||||
|
||||
- types/<name>/init:
|
||||
Used to generate additional objects from a type.
|
||||
See cdist-stages(7), cdist-types(7).
|
||||
|
||||
- types/<name>/gencode:
|
||||
Used to generate code to be executed on the client.
|
||||
See cdist-types(7).
|
||||
|
||||
- cache/
|
||||
The cache contains results from previous runs, which may also
|
||||
be used in types to gather information about other hosts
|
||||
(like ssh-keys).
|
||||
|
||||
- cache/
|
||||
|
||||
- tmpdir: Temporary storage
|
||||
A tempdir and a tempfile is provided by cdist-config(1), which
|
||||
will be removed when the scripts ends automatically.
|
||||
|
||||
- tmpdir/cache/: New cache
|
||||
This directory contains elements for the new cache of the host.
|
||||
If all stages are completed successfully, the new cache is used
|
||||
to replace the previous one.
|
||||
|
||||
- tmpdir/explorers/: Output of explorers
|
||||
If the run was successful, the results are copied into the new cache.
|
||||
|
||||
- tmpdir/objects/: Objects created during run
|
||||
If the run was successful, the results are copied into the new cache.
|
||||
|
||||
|
||||
AUTHOR
|
||||
------
|
||||
Nico Schottelius <mailto:nico-cdist--@--schottelius.org[]>
|
||||
|
||||
|
||||
RESOURCES
|
||||
---------
|
||||
Main web site: http://www.nico.schottelius.org/cdist/[]
|
||||
|
||||
|
||||
COPYING
|
||||
-------
|
||||
Copyright \(C) 2010-2011 Nico Schottelius. Free use of this software is
|
||||
granted under the terms of the GNU General Public License version 3 (GPLv3).
|
||||
|
||||
|
||||
conf/types/<name>/
|
||||
- provide standard types
|
||||
- have required and optional arguments
|
||||
- are independent of hosts
|
||||
- may make use of other types to realise a new type
|
||||
- how to overwrite stuff?
|
||||
- overwrite in own tree?
|
||||
- needs knowledge of inherited provider
|
||||
- similar to current situation in puppet,
|
||||
but more like reusable defines
|
||||
- or may implement some functionality on their own
|
||||
|
||||
conf/explorers/<name>
|
||||
- explorers to be run on the target hosts
|
||||
|
||||
Differences manifests vs. types
|
||||
|
||||
|
@ -37,3 +93,21 @@ Differences manifests vs. types
|
|||
main purpose map config to host provide functionality
|
||||
can change config no (prevent conflicts) yes (allow inheritance)
|
||||
specificness site specific (globally) reusable
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
unsorted: cache / objects
|
||||
|
||||
- If cdist encounters type in manifest,
|
||||
a wrapper script is run, that creates a
|
||||
new entry in the cconfig database and adds
|
||||
attribute values. This defines a cconfig
|
||||
tree, that may look as follows:
|
||||
|
||||
|
||||
<hostname>/<type>/<id>/<parameters>:
|
||||
|
||||
myhost/__file/cdist_bin/source
|
||||
myhost/__file/cdist_bin/destination
|
||||
...
|
||||
|
||||
|
|
Loading…
Reference in a new issue