Skip to content

Commit

Permalink
Added iLok License Manager Client Config recipes
Browse files Browse the repository at this point in the history
  • Loading branch information
davidbpirie committed Dec 18, 2023
1 parent 18d9d8b commit 13b26de
Show file tree
Hide file tree
Showing 2 changed files with 144 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
Description: |
Creates a package that installs the client preferences for iLok
License Manager and a postinstall script that reloads the license
daemon Launch Daemon, then uploads the package to Jamf Pro.
The source client preferences file must first be created manually
on a client device by running iLok License Manager, selecting
iLok License Manager -> Preferences -> My Connections, and
configuring as required. This will populate the required client
preferences file at:
/Library/Preferences/com.paceap.eden.floating.v1.client.prefs
Client preferences file must be provided either as Input Variable
PKG or via the -p parameter; the desired package version must be
provided via the -k version parameter eg:
autopkg run iLokLicenseManagerClientConfig.jamf-upload -p "path/to/com.paceap.eden.floating.v1.client.prefs" -k version "1.0.0"
PKG_ID is the ID of the generated package.
JSS_URL, API_USERNAME, and API_PASSWORD, and for non-cloud instances
SMB_URL, SMB_USERNAME and SMB_PASSWORD, are expected to be populated
in your AutoPkg preferences, override Input variables, or by
command-line keys.
Inspired by https://community.jamf.com/t5/jamf-pro/configuring-ilok-license-server-clients/td-p/272536
Identifier: com.github.davidbpirie.jamf-upload.iLokLicenseManagerClientConfig
ParentRecipe: com.github.davidbpirie.pkg.iLokLicenseManagerClientConfig
MinimumVersion: 2.3.0

Input:
NAME: iLokLicenseManagerClientConfig
PKG_ID: com.github.davidbpirie.iLokLicenseManagerClientConfig
version: Provide_version_in_input_key
JAMF_CATEGORY: Utilities
JAMF_PKG_NAME: "%NAME%"
JAMF_PKG_INFO: Client configuration for iLok License Manager.
JAMF_PKG_NOTES: Uploaded by AutoPkg
JAMF_PKG_OS_REQUIREMENTS: ""
JAMF_PKG_PRIORITY: "10"
JAMF_PKG_REBOOT_REQUIRED: "False"
JAMF_PKG_REPLACE: "False"
JAMF_PKG_REPLACE_METADATA: "False"
JAMF_PKG_REQUIRED_PROCESSOR: None
JAMF_PKG_SEND_NOTIFICATION: "False"
JAMF_PKG_SUFFIX: "pkg"

Process:
- Processor: com.github.grahampugh.jamf-upload.processors/JamfPackageUploader
Arguments:
pkg_name: "%JAMF_PKG_NAME%-%version%.%JAMF_PKG_SUFFIX%"
pkg_path: "%pkg_path%"
pkg_category: "%JAMF_CATEGORY%"
pkg_info: "%JAMF_PKG_INFO%"
pkg_notes: "%JAMF_PKG_NOTES%"
pkg_priority: "%JAMF_PKG_PRIORITY%"
reboot_required: "%JAMF_PKG_REBOOT_REQUIRED%"
os_requirements: "%JAMF_PKG_OS_REQUIREMENTS%"
required_processor: "%JAMF_PKG_REQUIRED_PROCESSOR%"
send_notification: "%JAMF_PKG_SEND_NOTIFICATION%"
replace_pkg: "%JAMF_PKG_REPLACE%"
replace_pkg_metadata: "%JAMF_PKG_REPLACE_METADATA%"
83 changes: 83 additions & 0 deletions PACE Anti-Piracy/iLokLicenseManagerClientConfig.pkg.recipe.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
Description: |
Creates a package that installs the client preferences for iLok
License Manager and a postinstall script that reloads the license
daemon Launch Daemon.
The source client preferences file must first be created manually
on a client device by running iLok License Manager, selecting
iLok License Manager -> Preferences -> My Connections, and
configuring as required. This will populate the required client
preferences file at:
/Library/Preferences/com.paceap.eden.floating.v1.client.prefs
Client preferences file must be provided either as Input Variable
PKG or via the -p parameter; the desired package version must be
provided via the -k version parameter eg:
autopkg run iLokLicenseManagerClientConfig.pkg -p "path/to/com.paceap.eden.floating.v1.client.prefs" -k version "1.0.0"
PKG_ID is the ID of the generated package.
Inspired by https://community.jamf.com/t5/jamf-pro/configuring-ilok-license-server-clients/td-p/272536
Identifier: com.github.davidbpirie.pkg.iLokLicenseManagerClientConfig
MinimumVersion: 2.3.0

Input:
NAME: iLokLicenseManagerClientConfig
PKG_ID: com.github.davidbpirie.iLokLicenseManagerClientConfig
version: Provide_version_in_input_key

Process:
- Processor: PackageRequired

- Processor: StopProcessingIf
Arguments:
predicate: version == 'Provide_version_in_input_key'

- Processor: PkgRootCreator
Arguments:
pkgdirs:
payload: "0775"
payload/Library: '0755'
payload/Library/Preferences: '0755'
scripts: "0775"
pkgroot: "%RECIPE_CACHE_DIR%/%NAME%"

- Processor: Copier
Arguments:
source_path: "%PKG%"
destination_path: "%RECIPE_CACHE_DIR%/%NAME%/payload/Library/Preferences/com.paceap.eden.floating.v1.client.prefs"
overwrite: True

- Processor: FileCreator
Arguments:
file_content: |
#!/bin/zsh
################################################################################
#
# Unloads and reloads the iLok License Manager service
#
################################################################################
/bin/launchctl bootout system /Library/LaunchDaemons/com.paceap.eden.licensed.plist
/bin/launchctl bootstrap system /Library/LaunchDaemons/com.paceap.eden.licensed.plist
exit 0
file_mode: "0755"
file_path: "%RECIPE_CACHE_DIR%/%NAME%/scripts/postinstall"

- Processor: PkgCreator
Arguments:
pkg_request:
chown: []
id: "%PKG_ID%"
options: purge_ds_store
pkgname: "%NAME%-%version%"
pkgroot: "%RECIPE_CACHE_DIR%/%NAME%/payload"
scripts: "%RECIPE_CACHE_DIR%/%NAME%/scripts"
version: "%version%"

- Processor: PathDeleter
Arguments:
path_list:
- "%RECIPE_CACHE_DIR%/%NAME%"

0 comments on commit 13b26de

Please sign in to comment.