Hosted Munki integration guide: Why use Munki with an MDM?
Discover how using SimpleMDM with Munki reduces cost and administrative effort to configure, maintain, and secure the Munki client software.
Munki traditionally requires additional cost and administrative effort to configure, maintain, and secure the Munki client software and a repository server. With the SimpleMDM Munki Integration, a hosted Munki deployment is now available out-of-the-box for SimpleMDM admins.

Whereas MDM supports installing a subset of macOS package formats, Munki supports a much wider range of software, including the common .dmg (Apple Disk Image) format. Additionally, Munki provides a private, self-serve app store. Employees may view the software library, install the applications that they need, and receive automatic updates as they become available.

As a testament to Munki, many admins use it even when their MDM already includes a similar offering. It’s that good. The Munki codebase is maintained by an extensive roster of leading MacAdmins and is considered the best macOS software management solution available today.

Munki app deployment is configured using the same interface used to deploy MDM apps. Administrators are able to upload custom apps, assign them to devices, and install with a click. In this manner, an admin can view DEP PreStage, MDM device and user channel, and Munki app deployments from a single interface. No additional command line tooling nor third-party hosting services required.

The Munki client benefits from SimpleMDM’s distributed, hardened infrastructure. Communications are authenticated using per-device PKI, device attestation, and of course, MDM. Requests are served by SimpleMDM’s cloud infrastructure and content delivery network (CDN), ensuring that software downloads are quick and reliable. Maintenance, security reviews, and investment associated with in-house infrastructure are eliminated.

SimpleMDM accounts get immediate access to the Shared Apps directory: a growing collection of commonly used macOS software. Apps from this directory, such as Google Chrome or Zoom, for instance, can be added to your catalog and distributed to devices without any additional work on your part. SimpleMDM maintains these apps to ensure they remain up to date.

Perhaps you have an in-house application or custom build that you would like to distribute. Apps can be uploaded to SimpleMDM using the admin UI or via API. SimpleMDM processes each upload and determines whether it can be distributed via MDM, Munki, or both.

Please note that macOS requires that binaries distributed via MDM are signed and review the process. Binaries delivered via Munki do not need to be signed.

Does your business use AutoPkg or Munki command line tools, like munkiimport? The SimpleMDM Munki repo plugin allows AutoPkg and Munki to publish software directly to your SimpleMDM account. Any AutoPkg .munki recipe can be configured to upload to your SimpleMDM account and distribute to your fleet with just a couple of additional command line or recipe arguments. No refactoring is needed.

PkgInfo files, which are traditionally generated with makepkginfo tool, contain metadata about the apps being installed, as well as installation behavior controls. SimpleMDM's Munki integration automatically generates the PkgInfo for apps by default, but it also offers the ability to customize them as needed.

With custom PkgInfo, admins have more control over that behavior as well as the end users’ experience when apps are being installed via the Managed Software Center. Customize the PkgInfo files, upload your own, or edit the existing file for your Munki apps all within the admin interface.

NoPkgs are great for running scripts and automatically checking for changes in the installed state. They can also provide self-service scripts via the Managed Software Center. To use a NoPkg with SimpleMDM, you can create your own and upload it or copy an existing one and paste it into the text editor. See the official Munki documentation for examples of NoPkgs and instructions on how to create one.

After generating your NoPkg, use Munki-type assignment groups to assign and deploy your NoPkg. Combined with custom attributes, NoPkg support extends script execution capabilities beyond the current Scripts features already included in the admin interface.

Software assignment for Munki distribution works similarly to distribution using MDM. Assignment groups are created that associate software titles to devices. With the Munki Integration, you may create two different types of Munki assignment groups:

A powerful feature of the Shared Apps directory is that app titles are automatically updated. While this is a boon in many cases, your business may require a specific version of a software title, or you may wish to test new software titles before releasing them to your fleet.

To accommodate for this, SimpleMDM assignment groups support version pinning for Shared Apps. Within the assignment group, you may select a specific version of the software title. This version will not change without your intervention. Always want the most recent? Select “latest” and your fleet will automatically receive new versions as they are released.

The SimpleMDM Munki Integration relies on the same configuration files and binaries as most Munki deployments. Attempting to use both the Munki Integration and an in-house Munki deployment on the same macOS device will likely result in an overwritten or broken Munki configuration.

As a result, SimpleMDM only installs the Munki client on devices that you have designated to receive software using Munki. It is possible to use the SimpleMDM Munki Integration for one subset of devices and an in-house Munki deployment for a different subset of devices. We recommend being careful to avoid assigning the devices using the in-house deployment to any Munki assignment groups.