On the server:

conf/manifests/init
   - the central entry point
   - is a shell script
   - defines mapping from providers to hosts
   -  will be called by cdist and the name
      will be available for tracking in
      cdist core functions

core/manifests/* (all other)
   - same function as above
   - but won't be called by cdist
   - method to seperate configuration parts


conf/providers/<name>/
   - provide standard types
   - have required and optional arguments
   - are independent of hosts
   - may make use of other providers 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

lib/providers/<name>/
   - same as above, but provided by the cdist distribution
   - if name exists in both, conf/ has priority