Munki Catalog Support For Sub-Folder/Directory Organization?

323 views
Skip to first unread message

Richard Glaser

unread,
Jul 9, 2014, 5:23:33 PM7/9/14
to munk...@googlegroups.com
Does munki catalogs support sub-folder organization?

For example, I would like to implement something like:

> development
group (catalog)
> individuals
> individual_a
kiosk (catalog)
lab (catalog)
minimal (catalog)
server (catalog)
staff (catalog)
> individual_b
kiosk (catalog)
lab (catalog)
minimal (catalog)
server (catalog)
staff (catalog)
> individual_c
kiosk (catalog)
lab (catalog)
minimal (catalog)
server (catalog)
staff (catalog)
> individual_d
kiosk (catalog)
lab (catalog)
minimal (catalog)
server (catalog)
staff (catalog)
> production
> location
1705a_classroom (catalog)
1745_classroom (catalog)
> machine
> testing
> location
> machine

It sees that manifests support sub-folder/directories, but using the manifestutil command doesn't show add or list catalogs in subdirectories.

manifestutil list-catalogs

But, do slist manifests

# manifestutil --list-manifests
applications/audio
applications/chat
applications/edu
applications/games
applications/internet
applications/mactech
applications/misc
applications/multimedia
applications/office
applications/programming
applications/science
applications/server
applications/staff_utils
applications/utils
applications/video_auth
applications/web_auth
applications/web_browsers
applications/web_windows
development/group
development/individuals/richard/kiosk
development/individuals/richard/lab
development/individuals/richard/minimal
development/individuals/richard/server
development/individuals/richard/staff
development/individuals/richard/test_munki_client
testing/group
testing/test_munki_client copy

Lee Ramsay

unread,
Jul 9, 2014, 10:06:30 PM7/9/14
to munk...@googlegroups.com
Hi Richard,

I don't think you're meant to organise catalogs manually, they're basically not for you (but instead for munki, internally).

You as an administrator edit pkginfo's, pkgs, and manifests. When you makecatalogs, it creates and places them itself.

I did just do a quick test, and put "test\testcatalog" in as a catalog in a test pkginfos, and when I makecatalog'd, it errored. When I made the folder 'test', it created the 'testcatalog' in the test folder correctly.

Manifestutil never detected it however.

There's no reference to organising by folder in the wiki however, I'm guessing it wasn't a design consideration.

Why do you need to put catalogs in folders anyway? Is it a web server permission security thing?


Lee


--
You received this message because you are subscribed to the Google Groups "munki-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to munki-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Ken Elliott

unread,
Jul 9, 2014, 10:19:52 PM7/9/14
to munk...@googlegroups.com
Does munki catalogs support sub-folder organization?
No.

Does munki manifests support sub-folder organization?
Maybe, but don’t do this.

For example, I would like to implement something like:

included_manifests

Manifests support references to other manifests (nested manifests):




Gregory Neagle

unread,
Jul 10, 2014, 12:28:59 AM7/10/14
to munk...@googlegroups.com
On Jul 9, 2014, at 10:19 PM, Ken Elliott <ken...@gmail.com> wrote:

Does munki catalogs support sub-folder organization?
No.

Agreed. Catalogs are not an organization tool. 


Does munki manifests support sub-folder organization?
Maybe, but don’t do this.

No, it's fine to put manifests in sub folders.  But you then must refer to them by relative path.


For example, I would like to implement something like:

included_manifests

Manifests support references to other manifests (nested manifests):




On 10/07/2014, at 9:23 am, Richard Glaser <richard...@UTAH.EDU> wrote:

Does munki catalogs support sub-folder organization?

For example, I would like to implement something like:

This really looks like you are trying to use included manifests. 

Richard Glaser

unread,
Jul 10, 2014, 6:37:20 PM7/10/14
to munk...@googlegroups.com
Hello:

Ok, I have setup the following sub-folder structure on manifests...

development/individuals/richard/machines/types/minimal


But, will have other "individuals" with a minimal manifest, which will be used for them installing/testing on there development minimal computer.

So, how do I setup the client's "ClientIdentifier" to use that specific manifest. I tried adding the path in the ClientIdentifier key string, but gives an error.

Does setting the ClientIdentifier with manifest name just use the first one found at the root level or the manifest directory on the server?

I tried changing the ClientIdentifier key to simply "minimal" and it appears it doesn't search subfolders in the manifests directory on the server.

Any suggestions?

Richard Glaser

unread,
Jul 10, 2014, 7:14:07 PM7/10/14
to munk...@googlegroups.com
Ok, partially answering my own question.

Found this page in the wiki...


Which covers the options like using --id and specifying an arbitrary string.

So, the following works...

managedsoftwareupdate --id development/individuals/richard/machines/types/minimal


But, would be nice if you could specify the relative path to the manifest in the "ClientIdentifier" key.

Seems like it currently uses this logic...


But not...

http://webserver/repo/manifests/path/to/ClientIdentifier

Richard Glaser

unread,
Jul 10, 2014, 7:27:08 PM7/10/14
to munk...@googlegroups.com
Ok, duh.

Adding paths does work, just forgot about the cfprefsd caching and used defaults to properly modify the ClientIdentifier key using the following command/path.

defaults write /Library/Preferences/ManagedInstalls ClientIdentifier "development/individuals/richard/machines/types/minimal"

MiqViq

unread,
Jul 11, 2014, 5:17:44 AM7/11/14
to munk...@googlegroups.com
Damn that cfprefsd caching, really annoying feature from our administrative viewpoint...

- MiqViq
Reply all
Reply to author
Forward
0 new messages