Munki Configuration Part 4: MunkiAdmin.app

Good news everyone! That complex method of using the command line to add and manage installers in Munki can be replaced with a nice GUI method!

Welcome to part 4 of the Munki blog series. In this post, I will show you how I install and use the MunkiAdmin application.

Some notes for this series as a whole:

  • These instructions have been written for our internal teams and for our typical installations. Tweaks may be required to fit your exact setup.
  • The server used in these examples is Mac OS X Server 10.8.4
  • The server uses Mac Server App version 2.2.1.
  • The server has been configured with a boot drive called “ServerHD” and a data drive called “DataHD” for the services data.
  • The clients used in these examples are Mac OS X 10.8.4, although the instructions have been tested on Mac OS X 10.8.2+.
  • Munki is provided free of charge under the Open Source license. Although free, your mileage may vary, so test any solutions heavily before rolling them out as ‘live’.

Additional information can be found on the Munki site.

Guide

You have your Mac Server installed and configured with 10.8.4 and Server app 2.2.1. This has both forward and reverse lookups configured and working fine. I will also assume that you have already followed all the steps in part 1 and part 2. Part three is not required but recommended to help your understanding.

Installing and Configuring MunkiAdmin

1. Launch a web browser and navigate to “github.com/hjuutilainen/munkiadmin/releases”
2. Scroll down the page until you can see the download button showing “MunkiAdmin-[version].dmg” (in the screen shot, this is MunkiAdmin-0.2.14.dmg). Click this to download the file.

Installing and Configuring MunkiAdmin

3. Mount your newly downloaded disk image and drag the “MunkiAdmin” application to either the Applications or Utilities folders. Shortcuts to these have been provided within the disk image. Feel free to drag a shortcut to the Dock.

MunkiAdmin apps

4. Once the copy is complete, eject the disk image and quit the web browser. Launch the MunkiAdmin Application.

5. You will be asked to locate a Munki Repository. Simple navigate to find your munki_repo folder. Select this and click “Open”

Munki Repository

6. Now, by default, the application will ask you at every launch to locate your munki_repo. Let’s set it so that it’ll automatically open the last one. Go to the “MunkiAdmin” menu, then “Preferences…”.

munki admin preferences

7. Under the “On Startup” dropdown box, change it from “Prompt…” to “Open previous repository”. Close the preferences window.

open previous repository

8. That’s your copy of MunkiAdmin configured and ready for use.

Adding your installer into MunkiAdmin

9. Now we will add that Java v7 u40 installer into Munki.

10. In MunkiAdmin, go to the “File” menu, then “Import Packages…”

Adding your installer into MunkiAdmin

11. Navigate to your installer. Select this and click “Open”

java 7 update munki

12. You’ll be asked what name to save the installer under. I’d recommend using underscores or dashes instead of spaces and avoiding special characters. Also ensure that the “pkgs” folder you are saving into are in your working “munki_repo” folder. Click “Save”.

save package munki

13. MunkiAdmin will now import the installer file. Depending on the size of the file, this may take some time.

13.	MunkiAdmin will now import the installer file.

14. Once complete, you’ll be asked where you’d like to save the package information file. MunkiAdmin should auto populate the name and the location. Confirm that the “pkgsinfo” folder is in your working “munki_repo” folder and click “Save”.

pkgsinfo

15. Once complete, your new installer will show up in the Packages window. Double click this to show the advanced options on the package.

your new installer will show up in the Packages window

16. These advanced options allow you to change, in the GUI, almost all of the options supported by Munki. The first Package (“Basic Info”) allows you to name the installer, add a description and admin notes as well as set the catalogs it’s in.

advanced options  java edit

17.The second page (“Contents”) displays certain items the installer uses.

editing java update contents

18. The third page (“Requirements”) allows you to set a number of additional requirements to the installer including Maximum and Minimum OS’s as well as which Munki installs this is an update for.

Munki installs this is an update for

19. The fourth page (“Installation”) allows you to load in installer choices, blocking applications and Items to also copy over.

allows you to load in installer choices

20. The fifth page (“Install Scripts”) allows you to copy in a pre-install and post-install script.

install scripts

21. The sixth page (“Uninstall”) allows you to set uninstall scripts for if the item is set to uninstall (possibly to clean up any extra files.

remove packages

22. The seventh and final page (“Install Check Scripts”) allows you to copy in specific scripts to check for certain items prior to an install/uninstall.

install check scripts

23. Once you’re finished with this package, click “Next” or “Previous” to go to the next or previous added installer, or click “Ok” to complete the changes. You have now finished adding your Installer into Munki via MunkiAdmin.

Adding your installer into a Manifest using MunkiAdmin

24. Now we need to create a new Manifest to add our installer to. Go to the “File” menu and click “New Manifest…”

Adding your installer into a Manifest using MunkiAdmin

25. Name the new Manifest (I will be using “Basic_Manifest”) and confirm that it is being saved into the “manifests” folder in your working munki_repo folder. Click “Save”.

new Manifest munki

26. Once your new manifest is added, select it on the left hand side, select the “Installs” tab on the right, then the plus symbol (“+”) at the bottom to add the Munki installer into this manifest.

add the Munki installer into this manifest

27. We will now be presented with all of the available installers in Munki. Select the desired installer/s and then click “Add Selected”.

the available installers in Munki

28. This will now show up on the “Installs” tab. We still need to add the correct Catalog for the installation we want. Click the “Catalogs” tab at the top.

add the correct Catalog for the installation we want

29. You should see a list of available Catalogs. Select the tick box next to the relevant one/s.
Please Note: Catalogs are used in order, top to bottom. Although not relevant now with such a simple setup, this will likely come into play a little way down the line.

see a list of available Catalogs

30. Once done, click the “Make” menu item, followed by “Save”. This will complete the loading of the installer into this manifest.

load installer into manifest

31. There you go, as with the end of part 3, once you have a client configured and set to use this manifest, it should try and install the Java installer we have loaded in.

Summary

That’s it; you now have a rough and ready understanding of how to add installers into Munki, and into Munki manifests via the MunkiAdmin GUI application. If you’ve been following the series you’ll also have a basic understanding of how to carry out the same tasks from the command line. Next time I’ll (finally) show you how to get a client Mac up and running.

Any hints, tips or opinions? Let us know in the comments below and I’ll try to respond to as many as I can.

 

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.

13 Replies to "Munki Configuration Part 4: MunkiAdmin.app"

  • Hi Rob,

    Not a problem (although a fair bit of work! 😛 ).

    I’ve learnt so much from the Mac Admin community at large, I’d like to give something back

  • Hi,

    Thanks for the app, nice work.

    At step 12, I would recommend against using dashes in the package name. I’ve run into problem with that before, since Munki uses dash to separate from name of the package and the version number.

  • Hi Tony,

    Thanks for the comment.

    To be honest it’s not an issue I’ve come across before but it’s likely I’ve been lucky.

    I’ll adjust my workflows and recommend others do the same. I don’t want to push my luck!

    Thanks

    Darren

    • I’ve run into issues with using dashes as part of the file name before. For example, let’s say we import a package called Adobe Acrobat Pro 9 version 9.5.5, and name it:

      Adobe-Acrobat-Pro-9-9.5.5

      Munki will think the package version is 9-9.5.5 rather than 9.5.5.

  • Darren George

    Great Article really love the Munkiadmin system and I have added Autopkgr to our system which seems to work really well, the part I am getting stuck on is how regular the clients look to grab munki updates, has anyone got any recommended scripts etc that can make the clients look at set intervals. It might sound a silly question but I’ve only just got into this system so I’m very new to this.

    Regards

    Darren

  • Hi Darren,

    By default, those Launch daemons you install for the munki manage the auto checking in by the client devices.

    These run every 60 minutes, + 1-60 minutes (so every 1-2 hours) automatically. Any available updates (non-optional) are downloaded in the background. If these are set to ‘unattended install’ they will also silently install themselves.

    Hope that helps!

    Darren

  • I’m just getting started with Munki2 and MunkiAdmin and have what might be a dumb or obvious question but it is stumping me right now. Once and installer or package is added to the repository/catalog/manifest how do you remove it when an updated version is available. I am able to uncheck the outdated installer so it is not pushed, put it still shows up in my list. Is it as simple as removing the package from the repository?

    • Darren Wallace

      Hi Rick,

      Are you referring to removing the package from the Manifest, or from the Munki repo?

      At lot of this will depend on how you’ve added them to your repo (names of packages, as well as names of the items in Munki). Generally speaking Munki will push out the application, and not a specific version. E.g. Munki will install “Firefox” and will use the latest version you have added to the Repo. Munki won’t install Firefox v33 unless you specifically tell it to (which is more of an advanced option).

      Essentially, you shouldn’t have to.

      Hope that helps!

      Darren

  • david

    Hi Darren,

    Would you know how to add licences to packages so that end users do not have to enter it manually? I know Adobe and Microsoft have their own licence managers that can be packaged by Munki but a lot of smaller products do not have this?

    Thanks,

    David

    • Darren Wallace

      Hi David,

      Thanks for your comment. I’m afraid there isn’t a catch-all solution for licensing applications as each one can be different.

      Your best bet would be to:
      – Check if the developer has any information on their website or with the download
      – Contact the support for the app (you are paying for the App so get your monies worth!)
      – Search around on the Mac Enterprise Mailing lists, JAMF Nation and generally just Google.

      Once you’ve got some ideas, always test before rolling it out!

      Good luck!

      Darren

  • Connor

    Hi Darren.

    Im trying to setup munki to deploy particular licensed apps to particular clients. Any advice on this ?

Leave a Reply

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