Adam Kosmin presented on automating the Puppet distribution network at the Puppet Conference on September 23, 2011. The objectives of the project were to support multiple sites, automate continuous replication between sites, and support QA workflows. The design included branch testing where changes are tested on a non-production server before being merged. Synchronization between master and slave nodes was achieved using native Puppet types and secure rsync. A modular design separated the code into master and slave roles.