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.