On the server:

conf/MANIFEST
   - the central entry point
   - is a shell script
   - defines mapping from modules or providers to hosts
   - can call other MANIFESTs in modules
   -  will be called by $whatever and relative path
      will be setup for source tracking:

conf/providers/<name>/
   - provide standard types
   - 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 included into cdist distribution
   - if name exists in both, conf/ has priority