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// - 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// - same as above, but provided by the cdist distribution - if name exists in both, conf/ has priority Differences manifests vs. providers manifests providers main purpose map config to host provide functionality can change config no (prevent conflicts) yes (allow inheritance) specificness site specific (globally) reusable