puppetlabs/puppet-server — pull request #346 by masterzen (2014-12-28 15:45:28+00:00)
Title: (FOR REVIEW ONLY) Pure clojure puppet file_metadata endpoint

Hi,

Please find here an attempt to build a pure clojure implementation of a Puppet terminus (here the file_metadata endpoint). This is very experimental material that *must not be merged-in*, I'm pushing it here only for other people to review and comment the code. This code hasn't been tested with a real puppet client, I would expect it to break horribly in this case.

Warning: this is my very first clojure code, it might not be very idiomatic nor good in plenty of ways. Do not hesitate to comment on the style so that I can learn :)

So what does this PR contains (and not):
- [x] a trapperkeeper service that parses fileserver.conf and allows other services to find a mount from a path
- [x] implementation of the file_metadata endpoint matching what a puppet master returns for file, links and directories
- [ ] support for special mount "plugins"
- [ ] support for special mount "modules"
- [ ] support for file_metadatas
- [ ] fileserver.conf ACL support
- [ ] auth.conf ACL support

I plan to update this PR from time to time as I fix issues pointed by reviews and implement the missing features listed above.

Thanks!