- doc: - cdist manpage (main manpage) - cleanup following man + their tree: - cdist-language [IMPORTANT] - cdist-design.text [IMPORTANT] - cdist-push-pull - cdist-quickstart - add terminology - define entry point - define modules / mix with library? - and entry point is my only real configuration? - define steps within configuration apply - detect impossible/unsafe things: - creating a file twice - installing and removing a package - and report location of occurence - parse afterwards? - how to define templates - variable substitution from shell may be problematic - SHELL SCRIPTS! (executables? do not support?) - stdout - cleanup / integrate doc/man/cdist.text - define how to write / provide functions - keep generic / easy extension - cdist-deply-to - sync conf/{lib/,modules,host/$name} - cdist-explore - add more stuff to explore - write manpage - cdist-build-explorer| ssh localhost - Create usable Makefile - install - to implement (from puppet): - package management and different "providers" - file / directory handling - ssh key handling - services - user management - including passwords - integrate "external ressources" - probably via explorer - what about blobs? - what about source = ${host}/.../ - to implement (from cfengine): - file editing (sed, awk) - huge library of functions shipped by default - disconnected clients with "cache" - release first public version, which includes at least: - manpages - only do necessary work - install packages only if not existent - copy file only if different Before initial release, document: - how to add package backends - how to write a minimal host manifest - create library with all functions (and their parameters) - cdist_package - cdist_file - cdist_dir -------------------------------------------------------------------------------- Later: - multi master setups - pull strategy