This is a collection of tools intended to allow huge fleets of machines to participate in safe, flexible and scalable deployment models.
This project is still under development and should not be used for anything in production yet. We are not seeking external contributors at this time
To build the tools in pp
, run rake build
. The bin
subdirectory contains agents and executables, the pkg
directory contains useful libraries for Go. We strongly believe in small things that do one thing well.
bin/
contains executables that, together, manage deployment. Thebootstrap
executable can be used to set up new nodes.pkg/
contains standalone libraries that provide supporting functionality of the executables. These libraries are all useful in isolation.
P2 is based on existing deployment tools at Square. The following list reflects all the system dependencies required by every P2 library, although many libraries require only one of these or are dependency-free.
- Consul
- Runit, which includes chpst
- ServiceBuilder
- Logrotate