Intro to Trapperkeeper
summary
Trapperkeeper is an open‑source Clojure service framework used as the basis for Puppet Labs backend (PuppetDB and Puppet Server) that composes services with init/start/stop lifecycles, orders them with prismatic.graph, and merges configs from HOCON config files plus JSON/EDN/YAML. Core reusable services include a config service, Jetty 9 and 7 implementations for web hosting, nREPL, and an RPC server; a def-remote-service macro generates transparent remote stubs that call over HTTP (with message-pack/transit serialization and cert whitelisting). Demo and tests show runtime swapping of implementations and working client/server RPC.
AI-written summary · about
chapters (17)
- 0:00Intro
- 0:31Where is Trapperkeeper?
- 2:38What's a Service Framework?
- 8:29Demo App: Core Functions
- 8:53Anatomy of a Service
- 9:47Protocols
- 10:18Implementations
- 12:24Service Dependencies
- 15:34dev-resources/config.conf
- 19:50Testing
- 22:42Lein Template
- 23:34REPL Utilities
- 25:34trapperkeeper-rpc
- 28:45RPC Server Config
- 29:28RPC Client Config
- 30:28RPC Server TK Stack
- 33:59RPC Future Directions
related talks
34mClojure by neophyte
44mRaising Services and People with Clojure
34mBuilding a Collaborative Web App with ClojureScript
31mLightning Talks
21mLLMs + Clojure = Who needs frameworks?
32mFrameworkless Web Development in Clojure
25mUnleash the Power of the REPL
35mThe evolution of the Emacs tooling for Clojure
