Puppet is a cross-platform system for managing machines. It can manage files, packages, users and anything else that needs managing. The system is composed of a puppetd daemon process running on a client machine, which periodically connects to a remote puppetmaster to download its configuration and apply it. All communication and file transfers between the client and puppetmaster are done via XML/