Munki Self Service Manifest Editor
Munki Self Service Manifest Editor
This tool is designed to let an admin script easy changes to Munki’s SelfService manifest.
Rationale
Let’s say your team has deployed FooSoft 8 via optional_installs
with the package name FooSoftEight
. When FooSoft 9 comes out – it’s not quite backwards compatible with everything your 8 users were using – you deploy it with the name FooSoftNine
and add it to optional_installs
. 8 is eventually no longer supported, so you need to flip your customers over to 9, but since each install automatically activates a license, you don’t want to spray it everywhere.
munki-ssm-editor replace FooSoftEight FooSoftNine
will do this for you: if the Mac got 8 via self-service, it will remove 8 and add 9 to the install list, triggering Munki to install 9.
Modes
Command | Description |
---|---|
munki-ssm-editor add PackageName |
Adds the title as though the user chose to install it in Managed Software Center |
munki-ssm-editor remove PackageName |
Remove the title from the install list |
munki-ssm-editor remove --uninstall PackageName |
Remove from the install list and, if it was in the install list, add it to the uninstall list |
munki-ssm-editor replace OldName NewName |
If OldName was in the install list, swap it with NewName |
munki-ssm-editor replace --uninstall OldName NewName |
If OldName was in the install list, swap it with NewName , and add OldName to the uninstall list |
This tool requires root
to run so you’ll need some way to actually deploy and run it. We use a Jamf policy, but you could use a Munki nopkg
“package” as well. It’s designed to be (somewhat) idempotent, so you could have one script that just gets re-ran every week, and you add all your deprecations / bumps to it.
This was written in Swift to reduce client-side dependencies.