Organizing your Munki manifests

So far, you’ve just been using site_default as the manifest for your machine. That may be fine to start with, especially if all your machines (Mac Minis, iMacs, MacBook Airs, MacBook Pros, etc.) are all going to get the same (managed and/or optional) software.

You may find, though, that you have special cases. Maybe one machine has to have a certain application definitely installed while other machines can have that application as optional (up to the user to install). Or maybe you have a group of machines that need only four applications, and the other machines need fifteen applications. Or you want some software available to one department but not another department.

This is where serial number manifests and included manifests can come in handy.

Remember how Munki has Default Manifest Resolution?

First, it will try the fully qualified domain name for the machine, then the short hostname, then the serial number of the machine, then site_default. So if you create a manifest for the serial number, that will be used instead of site_default.

Here is an example of how I would recommend you structure your manifests (note that Display Name is only in MunkiAdmin—Munki itself doesn’t do anything special with the Display Name in manifests):

Manifest organization viewed through MunkiAdmin

The filename for your serial number manifest would be the actual serial number of the machine. This would have a catalog of testing if it were a machine that did testing or a catalog of production if it were in production, or both testing and production if you want it to get items from both catalogs. It would then include at least one other manifest.

Included manifests do not have catalogs. It’s also a good idea to have included manifests within a subdirectory (e.g., groups or includeds) just so you don’t accidentally have machines use them as machine manifests instead of included ones. It’s possible you would have a machine named EnglishDept but extremely unlikely you’d have a machine called groups/EnglishDept (can hostnames even have a slash in them?).

In this example above, site_default includes groups/common_software, and the Mac Mini serial number manifest includes both groups/common_software and groups/english_dept.

Import Manifests from CSV menu in MunkiAdmin

If you would like to create a whole bunch of serial number manifests at once (not one at a time), you can import a comma-separated values text file.

If this all sounds too confusing right now, that’s okay. You can come back to it. If you just need to get up and running, and you can worry about manifest organization later, just stick with site_default for now.

Further Reading
An opinionated guide to Munki manifests
Another opinionated guide to Munki manifests

Leave a Reply

Your email address will not be published. Required fields are marked *