MunkiServer is a easy, well thought out way to manage a Munki repository. You no longer have to manually edit several plists, generate new catalogs, or futz with pkginfo files. MunkiServer serves the same files that a standard Munki repo hosts, but does so with a slick user interface and some clever dynamic programming. MunkiServer uses a 1:1 methodology, where each client receives it’s own manifest. MunkiServer also has the ability to group computers in computer groups and install/uninstall/optionally install applications individually or in a bundle (a grouping of packages). Below is some common terminology used in MunkiServer.
User – Definition is still pending based on LDAP work
User Group – User groups are grouping of users that may or may not be defined by LDAP Groups. User groups may be granted permissions to the other building blocks of MunkiServer. For instance, the “Adminsitrator” group in a unit might have all permissions (create, read, update, destroy on computers, computer groups, bundles and packages), whereas the “Manager” might have (create, read, update on computers, computer groups, and bundles and read rights on packages). How you develop the permissions models for your installation will be dependent on your needs and the skills of those who are accessing MunkiServer.
Unit – Units are a basic organizational building block of MunkiServer. MunkiServer is designed to be used in an organization where multiple working groups maintain their own sets of computers, computer groups, packages, and bundles. For instance, you may have a unit called Library or Marketing in your organization. All computers, computer groups, packages, and bundles may exist in only ONE unit1.
Environment – Units are another basic organization building block of MunkiServer. By default, a standard install of MunkiServer will install two environments, Staging and Production. Packages that you are working on, but are not ready to release into the wild should be put in the staging environment. When it is ready for action, put the package in production and it. All computers, computer groups, packages, and bundles may exist in only ONE environment1.
Computer – A computer is a representation of a computer to be managed by MunkiServer. At this moment, you will need a Name and MAC Address for each computer to import into MunkiServer. You may also specify a hostname, if necessary, in your organization. Computers may belong to a computer group and are scoped to a unit and environment. Once a computer is created in MunkiServer, and the computer has the Munki client installed and configured, you may begin managing packages. You may install bundles or install/uninstall/optionally install packages at the computer level.
Computer Group – A computer group is a representation of similar computers which may be in a similar geographic location or fulfill similar roles in your organization. You might, for instance, have staff, media lab and kiosk computer groups in a unit which have different groupings of packages to be managed by MunkiServer. Computers groups are scoped to a unit and environment. Computers can only belong to one computer group. You may install bundles or install/uninstall/optionally install packages at the computer group level.
Bundle – A bundle is a grouping of packages.
Package Branch -
1 For those from a Munki background, catalogs are generated from a Unit/Environment pair. For instance, there might be a Library Production or a Marketing Staging catalog.