Puppet is a system that allows for the easy configuration editting and validation of a machine or group of machines. For example, there may be a definition in the system that makes sure the same set of development tools are installed on all systems, another group for software that is stanard for all server instations only, and another just for desktop GUI packages.
Chef is a similar alternative technology for accomplishing the same task.
The task is to investigate, get an instance up and running, to begin the configuration process, and document the usage of the system on the ACM Wiki.
http://www.scriptrock.com/blog/puppet-vs-chef-battle-wages
https://sysadmincasts.com/episodes/8-learning-puppet-with-vagrant
https://sysadmincasts.com/episodes/18-managing-iptables-with-puppet
https://sysadmincasts.com/episodes/33-git-to-puppet-deployment-workflow
*Fill in when updates to document*