This document provides an introduction to using Puppet for system configuration management. It includes a quick primer on Puppet terminology and concepts. It then demonstrates configuring sudoers permissions on nodes using Puppet and shows how to use operating system conditions, class inheritance, and facts to dynamically configure nodes. References for additional Puppet documentation and best practices are also included.