Managedmac is a Puppet module designed to make OS X configuration simple.
You don't need to understand Puppet to use it (though it helps).
Once you've installed the components, all you need to do is create a configuration file and run Puppet.
It's that simple.
Suitable for testing and development, not masterless Puppet installations.
|
If you don't have git, then you'll need to install the Xcode commandline tools: sudo xcode-select --install
git clone https://github.com/dayglojesus/managedmac.git && cd managedmac
There are two setups: one for demonstration, one for development.
sudo rake setup
Running the development setup installs the gems required for running tests, etc.
sudo rake setup[development]
Demonstration of what a masterless Puppet setup might look like.
|
sudo gem install CFPropertyList sqlite3
sudo puppet module install sfu-managedmac
cd /etc/puppet
sudo ln -s /etc/hiera.yaml hiera.yaml
Open your favorite text editor, copy in the YAML below and save it as (requires root):
---
# Configure the Dock using an OS X profile
managedmac::mobileconfigs::payloads:
'managedmac.dock.alacarte':
content:
largesize: 128
orientation: 'left'
tilesize: 128
autohide: true
PayloadType: 'com.apple.dock'
displayname: 'Managed Mac: Dock Settings'
Here's a simple Puppet manifest expressed in puppet apply
sudo puppet apply -t -e 'include managedmac'
In addition to changes in the Dock's appearance you should see a new profile named Managed Mac: Dock Settings' appear in System Preferences.
If you delete this profile and run Puppet again, it will re-appear. Try it.
Now, try running this and inspecting the output...
sudo puppet resource mobileconfig managedmac.dock.alacarte
The demonstration above provides just one quick example of what can be accomplished. There are hundreds of configurations that can be made.
To learn more about this module and how it works, read the Overview and see the documentation on Custom Types and Classes.
This module was designed as part of the Managed Mac project at Simon Fraser University.
Released under the Apache License.
Please file bug reports using the Github Issue Tracker
The authors would like to thank the following folks for their invaluable contributions: