Pallet is used to provision and maintain servers on cloud and virtual machine infrastructure, and aims to solve the problem of providing a consistently configured running image across a range of clouds. It is designed for use from the Clojure REPL, from clojure code, and from the command line.
reuse configuration in development, testing and production.
store all your configuration in a source code management system (eg. git), including role assignments.
configuration is re-used by compostion; just create new functions that call existing crates with new arguments. No copy and modify required.
enable use of configuration crates (recipes) from versioned jar files.
It uses jclouds to gain portable access to different cloud providers.