Completely rewritten using Ansible instead of Pupppet as a provisioning method