c1b548da49
Signed-off-by: Nico Schottelius <nico@yoda.schottelius.org>
61 lines
1.7 KiB
Text
61 lines
1.7 KiB
Text
This document is a brainstorming document,
|
|
on how to integrate providers. Providers
|
|
had been "type" in previous discussion.
|
|
|
|
Proposed/discussed structures:
|
|
|
|
1) 2010-11-02
|
|
$basedir/$type/
|
|
properties/
|
|
name/
|
|
required # required | optional
|
|
choices # \n liste
|
|
|
|
|
|
meta/
|
|
default (shell script)
|
|
providers/
|
|
pukman/
|
|
|
|
2) 2010-11-09
|
|
|
|
How to write my own type named "coffee":
|
|
|
|
Create the directory /etc/cdist/types/coffee/
|
|
Create the file /etc/cdist/types/coffee/README containing a description of the
|
|
type.
|
|
If your type supports attributes, create the directory /etc/cdist/types/coffee/
|
|
attributes.
|
|
For each attribute, create the file
|
|
/etc/cdist/types/coffee/attributes/$attribute_name which contains
|
|
|
|
a short description on the first line
|
|
then a blank line
|
|
then a long description (probably over several lines)
|
|
|
|
If you think your type may be useful for others, submit it for inclusion
|
|
into cdist at cdist -- at -- l.schottelius.org.
|
|
|
|
Create /etc/cdist/types/coffee/init which reads $configinput
|
|
(either via cconfig or via environment) and outputs a block of
|
|
shell code suitable for running on the client.
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
cdist view on providers:
|
|
|
|
How providers are integrated/run:
|
|
|
|
- If cdist encounters provider in manifest,
|
|
a wrapper script is run, that creates a
|
|
new entry in the cconfig database and adds
|
|
attribute values:
|
|
|
|
conf/__file/cdist_bin/source
|
|
conf/__file/cdist_bin/destination
|
|
|
|
- In this stage, no conflicts may occur, as
|
|
no provider code has been called (i.e. only
|
|
manifests, which map config to hosts is
|
|
applied).
|