clj-salt-api is data oriented library for invoking Saltstack API over HTTP. Salstack has an option to run commands synchronously or asynchronously (based on listening to Saltstack events). clj-salt-api implements both approaches with core.async library.
I’ve written a blog/code walkthrough with detail description of design, code conventions, testing approach and caveats I have experienced during the development of clj-salt-api.
I’d be happy to get some review.