This document describes the PCP framework and its communications protocol.
- Introduction - overview of the PCP framework
- Terminology - definitions used by the Puppet communications protocol
- Session - initialise connections
- Inventory - inventory service and transaction
- Message Delivery - how the fabric processes and delivers client messages
- Error Handling - error handling
- Delivery Authorization - how the fabric reports message delivery authorization failures
- Delivery Guarantees - how the fabric guarantees the delivery of messages
- Message Versioning - how the fabric handles message versions
The following projects follow the PCP specifications described here, using WebSockets as the underlying wire protocol.
- pcp-broker provides a PCP broker implementation in Clojure
- cpp-pcp-client is a PCP client library written in C++
- pxp-agent is a PXP agent based on cpp-pcp-client, that offers a Puppet module
- clj-pcp-client is a PCP client library written in Clojure