Refactor puppet provisioning