Puppet by Andrew Shafer of Reductive Labs This presentation gave a walk through the configuration management philosophy of the Puppet framework, introduce the roles of the Puppet executables, the Puppet resource model and how this is expressed in the Puppet language, highlighting some of the Mac OS X specific management capabilities (thanks to the Puppet community, especially Nigel Kersten of. At Puppet, open source software is in our DNA. From the earliest days of Facter to the latest version of Bolt, we’ve always been firm believers in the power of open source. Puppet’s own projects benefit from working in the open, and so do the upstream projects we contribute to, like Visual Studio Code, Leiningen, and Ruby.
Recent on the StackExchange site Super User, the following question came up which seemed pretty straight forward.
I naturally assumed that puppet labs would include an uninstaller with the .dmg package. It turns out, that is not the case. You must uninstall puppet manually.
Problem
I first identified where puppet was installed.
I assumed that there was also a puppet binary in the /usr/sbin directory which turned out to be correct
Removing the puppet user was not as easy. I assumed it would be in /etc/shadow, however Mac does not use the shadow file. Nor does Mac have the userdel command.
I discovered the following blog post which elaborates on the dscl command.
You will need to reboot the machine for the puppet user to be deleted.
To be thorough, I ran the following command to look for any additional puppet files
Sure enough, there are two other folders to delete
Solution
To uninstall puppet, delete the following files
/usr/bin/puppet
/usr/sbin/puppet
Remove the following directories
/private/etc/puppet
/usr/share/doc/puppet
To get rid of the puppet user that appears on the login screen
sudo dscl . delete /Users/puppet
Reboot the machine and puppet will be uninstalled.
Note that facter will still be present. Uninstalling facter is not in the scope of this post.