-
Notifications
You must be signed in to change notification settings - Fork 0
What Xolo Does
These are the objects one would have to create and maintain in the Title Editor and Jamf Pro GUI WebApps to manage Xolo titles and versions manually. Xolo merely provides command-line-based automation and standardized names and processes for these actions. This makes doing so feasible at the scale of hundreds of titles, many of which are updated daily by developer workflows.
In the Title Editor, Xolo just maintains the titles and versions as defined.
In Jamf Pro, it maintains:
- 4 objects for Xolo itself
- 4-9 objects for each title
- 4-6 objects for each version of a title
Note that while Xolo maintains titles and versions in the Title Editor, and packages, patches, and policies in Jamf Pro , it doesn't manage everything that might exist in them. Xolo only knows about a title or a version if it's been created using xadm.
In the Title Editor, the Xolo 'title' is the 'id' of the SoftwareTitle, and its Display Name is shown in the web-UI.
Everything that Xolo maintains in Jamf Pro has a meaningful name that starts with 'xolo-'
- In the Title Editor
-
In Jamf Pro
- For Xolo as a whole
-
For each Title
- If the title uses a "version script"/Extension Attribute to identify installed versions
- A smart group of Macs with any version installed
- A static group of Macs where the title is frozen
- A normal policy for manual or Self-service re-install of the currently-released version, if there is one
- If the title is uninstallable
- If the title is expirable
-
For each Version
- A Jamf package object that installs the version
- A normal policy for automated initial-installs
- A normal policy for manual installs/re-installs
- A smart-group of macs with this version installed, if needed
- A normal policy for automatic re-installs, if needed
- A Patch Policy for automated updates to this version.
Titles and versions (called 'patches' in the Title Editor) are maintained as-is based on the options provided with xadm.
- title/id
- named 'xolo-[title]'
- display name, publisher, description
- Extension Attribute (version-script) if needed
- requirement criteria (identifying macs with any version installed)
- based on App bundle info or Extension Attribute
- A 'stub' version '0.0.0x0' which is never installed anywhere
- It is used to 'activate' the title in Jamf Pro immediately when created, before any 'real'versions are added.
- This makes the functioning of Xolo much more stable, due to the disconnect between Jamf Pro and the Title Editor
- version, order, release date, minimum os, reboot, standalone
- killapps - identifying apps that must be quit in order to install this version
- component criteria - identifying macs with this version installed
- capability criteria - identifying macs that can run/install this version
Xolo maintains many objects in Jamf Pro in order to provide both manual and automatic tasks related to deploying and maintaining software.
-
A Jamf Package object that installs a JSON file of data about all known Xolo titles and versions, for use by
xoloon managed Macs- Named 'xolo-client-data', filename 'xolo-client-data.pkg'
- The .pkg is updated and re-deployed whenever a title or version changes
-
xolouses this for access to title and version info without having to reach out to a server (which requires credentials)
-
Two policies that install the package of client data
- One named 'xolo-client-data'
- Runs at least daily on all computers, or soon after any title or version changes
- One named 'xolo-client-data-manual'
- Runs 'ongoing' with manual trigger 'update-xolo-client-data'
- One named 'xolo-client-data'
-
One category 'xolo'
- Everything maintained by xolo which can have an assigned category is assigned to this one.
- If a title appears in Self Service, the category in which is is displayed is defined separately.
- Auto-accepts (optionally) the Patch Extension Attribute (version script) from the Title Editor
- Creates a 'normal' Extension Attribute identical to the PatchExtension Attribute, named 'xolo-title-installed-version'
- This is needed because Patch EAs cannot be used as criteria in normal smart groups, they can only be used by the Patch Management system.
- Named 'xolo-title-installed'
- Used as a scope exclusion for initial install policies
- Uses either the "normal" EA created above, or the app-name and app-bundle-id, depending on the title definition
- Named 'xolo-title-frozen'
- Used as a scope exclusion for all normal & patch policies for all versions.
A normal policy for manual or Self-service (re-)install of the currently-released version, if there is one
- Named 'xolo-title-install',
- The custom trigger is the same.
- Excluded for:
- Macs in any of the excluded groups
- Macs in the server's "forced_exclusions" groups
- Macs that are frozen for the title
- An uninstall script named 'xolo-title-uninstall'
- Either a custom script, or one based on the
pkgutilfile data
- Either a custom script, or one based on the
- A policy named 'xolo-title-uninstall' that runs that script
- With a custom trigger of the same name
- Targets: Macs with the title installed
- Exclusions: Macs in any excluded group, or in the server's "forced_exclusions" group
- A policy named 'xolo-title-expire' that runs
xolo expire _title_on the clients daily- With a custom trigger of the same name
- Targets: Macs with the title installed
- Exclusions: Macs in any excluded group, or in the server's "forced_exclusions" group
- Named 'xolo-title-version', filename is 'xolo-title-version.pkg'
- The filename uploaded via
xadmdoesn't matter, it will be renamed on its way.
- The filename uploaded via
- Named 'xolo-title-version-auto-install'
- Trigger: checkin, frequency once-per-computer, retry on fail at next checkin up to 5 times
- Excluded for
- Macs with the title already installed
- Macs in any of the excluded groups
- Macs in the server's "forced_exclusions" groups
- Macs that are frozen for the title
- Named 'xolo-title-version-manual-install'
- Excluded for
- Macs in any of the excluded groups
- Macs in the server's "forced_exlusions" groups
- Macs that are frozen for the title
- NOT excluded for Macs with the title installed
- Allows re-installation and one-off pilot installation
This group is only created if the .pkg for the version is re-uploaded with a newer one. See below.
- Named 'xolo-title-version-installed'
- Used as the scope targets for the auto-re-install policy
- Uses either the "normal" EA created above, or the app-name and app-bundle-id, whichever is used by the title
This policy is only created when a new pkg is re-uploaded for a version. It allows automated re-installs when the .pkg has changed but the version has not (meaning that the Patch Policy won't re-install it)
- Named 'xolo-title-version-auto-reinstall'
- Targets: all Macs with this version installed
- Trigger: checkin, frequency once-per-computer, retry on fail at next checkin up to 5 times
- Excluded for
- Macs in any of the excluded groups
- Macs in the server's "forced_exlusions" groups
- Macs that are frozen for the title
- Named 'xolo-title-version'
- Excluded for
- Macs in any of the excluded groups
- Macs in the server's "forced_exlusions" groups
- Macs that are frozen for the title