Puppet Module for managing macOS + OS X Configuration Profiles
Switch branches/tags
Clone or download
Pull request Compare This branch is 33 commits ahead of ryanycoleman:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
manifests
.gitignore
README.md
metadata.json

README.md

mac_profiles_handler module for Puppet

Description

This module provides two resource types for interacting with macOS configuration profiles.

The profile_manager resource type is the back-end type that interacts with /usr/bin/profiles for creating, destroying and verifying a resource type. The mac_profiles_handler::manage resource type is user-facing and handles the management of the actual files.

A structured fact is also provided to list installed profiles along with some metadata.

Usage

mac_profiles_handler::manage { 'com.puppetlabs.myprofile':  
  ensure  => present,  
  file_source => 'puppet:///modules/mymodule/com.puppetlabs.myprofile.mobileconfig',  
}

You can use an ERB template instead of a mobileconfig:

mac_profiles_handler::manage { 'com.puppetlabs.myprofile':  
  ensure  => present,  
  file_source => template('mymodule/com.puppetlabs.myprofile.erb'),  
  type => 'template',  
}

You can also ensure that a profile is absent by specifying just the identifier:

mac_profiles_handler::manage { '00000000-0000-0000-A000-4A414D460003':
  ensure => absent,
}

You must pass the profilers identifier as your namevar, ensure accepts present or absent and file_source behaves the same way source behaves for file.

Dependencies

To-Do

Improve provider parsing.
Handle more types of configuration profiles.
Improve documentation when author isn't presenting the next morning.

Contributing

Please do!
Create issues in GitHub, Make Pull Requests, Have Fun!