From 20a79673328fc5a26fad6a65a8c0f9add7c98999 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Tue, 9 Nov 2010 20:27:41 -0800 Subject: [PATCH] add some thoughts Signed-off-by: Nico Schottelius --- doc/internal/logs/2010-11-09 | 101 +++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 doc/internal/logs/2010-11-09 diff --git a/doc/internal/logs/2010-11-09 b/doc/internal/logs/2010-11-09 new file mode 100644 index 00000000..fb047add --- /dev/null +++ b/doc/internal/logs/2010-11-09 @@ -0,0 +1,101 @@ +Rethinking ideas of last talk. + +What if types are formal / have formal arguments? +What if cdist can do all the parsing stuff and the real +functionality comes out of the library (similar to cfengine)? + +What if the library is integral part of cdist? + + +conf/lib/$name/ + attributes/ + a + b + c + + +-------------------------------------------------------------------------------- +I'm not sure whether this design is in fact helpful. +But it's clearly necessary to have a directory per type, so a type can +have helpers. + + +conf/lib/$name/ + init? + + +Prepare some very minimal (non functional) framework for library integration? + Like parsing for command line arguments? + +-------------------------------------------------------------------------------- +Real configurations versus types: + +Types are reusable code: For instance etc_resolv. + +Configurations are types used and configured. + + +-------------------------------------------------------------------------------- + +Style + + __type --option1 + +seems to be quite good usable. cdist can easily -----parse--- this. + +Nope. We don't parse. We let the shell execute. + +So whatever is __type will get executed. + +__type must probably be part of some cdist specific path. + +Which again could be + + conf/lib/$name + +Which could result in the directory + + conf/lib/.$name for helpers + +That style could include a mandority --help, --args arguments +and would thus be independent of the language used (can, but does +not must be shell). + +How to solve standard configurations that way? + + EASY AS WELL! + + __type --option1 + + for instance + + __type . --option1 + + +-------------------------------------------------------------------------------- +Type paths + At least (at maximum)? 2: + user + system + + Easy to do. + +-------------------------------------------------------------------------------- +Types: Name types types or name types modules? + +-------------------------------------------------------------------------------- + +Where to place/start the configuration? + + wherever it is: name it configuration! + + +-------------------------------------------------------------------------------- +cdist installation / paths: + + /etc/cdist/ # CDIST_DIR + config/ # CONFIGDIR + types/ # USERTYPEDIR + + $prefix/lib/cdist/types/ # SYSTYPEDIR + +