Munki 2: Upgrading Your Munki Repo and Administration Mac

Hi all. Welcome to the second part in my Munki 2 blogs: The on-going guide to get Munki newbies up and running with a basic setup to cut your teeth on!
This blog is designed as an ‘updater’ blog to my previous two Munki blogs: “Configuring Munki for a Mac Server” and “Munki Configuration Part 2: Admin Mac”.
Also, I realised in my intro blog, I used the term ‘Munki Server’ for the Munki Repo and I got a little stick about it. Rather then argue semantics, please assume that if I use the terms ‘Munki Server’ or ‘Munki Repo’ I’m referring the same thing, specifically the server that hosts all the Munki data you are serving to your clients.

My Demo Setup

Just for clarification, my demo setup for these instructions and screenshots is as follows:
Server and Client OS: OS X Yosemite 10.10.1
Server app: 4.0.3
Munki Tools: 2.2
Example Package: Mozilla Firefox v35.0.1

Repo-side Upgrade

To be honest, there’s only one repo server-side change for a generic setup and that’s the inclusion of an ‘icons’ folder at the root of the Repo.
repo side upgrade munki
Now this folder will be created on demand when you first use the updated munkiimport tool to upload a package and create an icon for it. You could create this manually (say if you don’t have permissions to create new directories at the munki_repo root), just ensure it has the same permissions as the other directories, for example the pkgsinfo directory.

Administration Mac Upgrade

For your administration Mac, run the updated Munki 2 installer. As mentioned on the previous ‘part 2’ blog on step 7, if this Mac will not be running Munki client, simply use the ‘Customize’ option to deselect the “Managed Software Centre” and “Munki launchd agents” whilst running the installation.
administration mac upgrade

Munkiimport Updated!

With the new options, some changes were made to the Munkiimport command line tool to simply take advantage of these. This is in the form of three new (optional) questions asked when importing an item:

  • Category
    • Allowing you to manually specify the Category you’d like to have item displayed under. The most benefit would be seen if this item is an optional install.
    • Simply enter the desired Category and it’ll be added to the pkgsinfo file for the item.

munkiimport updated

  • Developer
    • Allowing you to manually specify the Developer you’d like to have item displayed under. Again, the most benefit would be seen if this item is an optional install.
    • Simply enter the desired Developer name and it’ll be added to the pkgsinfo file for the item.

munki developer

  • Icon
    • Icon is a little different from the other two. Munkiimport will first check if the Icon already exists matching the name of the Item. If not, it’ll offer to try and extract one. This generally only works for DMG or standard Apple pkg installers.
    • If a suitable Icon is found, it’ll upload the icon into the ‘icons’ directory on the munki_repo (creating the directory if not present), with the ‘[item name].png’ as the filename.
    • Finally, if successfully, it’ll add the path to the icon into the pkgsinfo file.
    • The icon will be shown next to the item in the new Managed Software Centre client application.

     

munki icon

Final Result

Following on from the above, I added Firefox to the optional installs on my test Mac and this is how it looked in the new client application:
add firefox options installs munki

Summary

There you go. As always, I hope it helps someone out and gets you onto the new (and awesome) Munki v2. Tune in for the next part where I’ll discuss upgrading the Munki Clients.
For these blogs, I’d always recommend reading the documentation (as Munki is a powerful tool) over at its new home on GitHub.
As always, if you have any questions, queries or comments, let us know below and I’ll try to respond to and delve into as many as I can.
Note: Regarding Running a HTTP Munki Repo on OS X Yosemite Server
One little thing I did find that has changed with using the web service on OS X Yosemite Server is, by default, all HTTP requests are redirected to HTTPS. In a normal Web Server configuration, this is exactly what you want, with all communication between the Web Server and the Web Client being encrypted.
However, if you’re running a Munki Repo on HTTP and haven’t (yet!) got round to configuring HTTPS it will stop Munki clients from reaching your repo. Don’t worry, this is purely a tick box in the server app and can be disabled by:

  1. Launch the Server.app and navigate to the “Web” service.
  2. Find your default website and double click it.

Read Munki 2: An Introduction Here.

 
Disclaimer:
While the author has taken care to provide our readers with accurate information, please use your discretion before acting upon information based on the blog post. Amsys will not compensate you in any way whatsoever if you ever happen to suffer a loss/inconvenience/damage because of/while making use of information in this blog.