Notes
This is a version of Outset created by GitHub Actions.
Outset.app has been signed and notarized. The package has been signed, notarized and stapled.
New
Script Payloads
This release contains a feature for deploying scripts as MDM payloads. overrides and run-once are recorded as per usual
Setup:
encode your script as a base64 string: base64 -i /path/to/script.sh -w80
construct a payload in the following format:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>script_payloads[OPTIONAL_IDENTIFIER]</key>
<dict>
<key>ACTION_TYPE</key>
<dict>
<key>SCRIPT_NAME</key>
<string>BASE64_ENCODED_DATA</string>
</dict>
</dict>
</dict>
</plist>
ACTION_TYPE
can be one of the standard outset folder names, e.g. login-every
, login-once
etc. You can include multiple action types with additional <key><string>
pairs per action.
SCRIPT_NAME
can be any unique string. Set the users desktop picture
is a valid script name. You can include multiple scripts per action type with additional <key><string>
pairs per script.
BASE64_ENCODED_DATA
is your base64 encoded script
The parent key by default is <key>script_payloads</key>
. Outset will look for this key and process the contents. This key must be unique if deploying multiple profiles so to support this you can add an optional identifier, e.g. <key>script_payloads-VIP_Users</key>
. You can deploy multiple profiles to a dingle device and Outset will combine them together for processing.
By default, Outset will only process managed payload scripts (i.e. delivered via MDM). For testing with local profiles in /Library/Preferences/
, run outset with the --debug
flag
To create an override for a payload delivered script run /usr/local/outset/outset --add-override payload="Script Name"
More detailed documentation will be available in the wiki in the near future.
Changelog
Changes
- 072f51e - ADD: JSON Schema for External Applications payload in Jamf Pro
- 9539615 - FIX: Mismatched indentation
- 89fc92c - Initial commit for 4.2.0 More code cleanup and re-arranging Added "on demand privileged" Added initial capability to run scripts contained as base64 bundles in a confir profile (currently nothing calls this)
- 5296d50 - Update README.md
- 7af77c1 - scripts as base64 encoded payloads TODO: - restrict to managed preferences - integrate with standard workflow including checks for run-once - remove debug code
- dc01bf0 - Moved a bunch of stuff around to support running scripts from a preference plist This should now be working for all script types. Some work to do on properly procesing
--add-override
which currently prepends the login-once path which causes the override check to not match. - 8f80fe9 - Merge pull request #56 from strlng/patch-1
- 4d91046 - Merge pull request #47 from VentionCo/jamfpro-jsonschema
- e22ceb4 - Fix for issue #54
- da95c68 - Merge pull request #58 from HowardGMac/dev_4.2.0
- 90270b3 - update version number
- ce6c46e - Merge remote-tracking branch 'refs/remotes/origin/dev_4.2.0'
- acbea2d - Fixing Info.plist version so the github action works
- 8c45f52 - Outset icon updated rocket graphic and as squircle
- 121c163 - Merge pull request #61 from rodchristiansen/main
- 9673efe - updating payload code for inclusion of scripts
- 230c085 - Merge remote-tracking branch 'refs/remotes/origin/dev_4.2.0'
- 73ae10e - Add logic to merge multiple script_payloads into one for processing. Add logic for add-override and remove-override to handle payload scripts with "payload=". The alternate is we don't assume
loginOnce.directoryPath
if no path is given. Discussion welcome - 78002de - Update payload logic to properly collect payload data from all defaults domains. Added logic to skip a payload if it's not from a managed domain and debug is not enabled.
- 0e47d16 - Updated readme with new outset icon and cleaned up some of the text
- 345ebc9 - update workflows for macOS 14
- 650cfbc - update to v4 of upload-artifact
- 0e4ff18 - Update build_outset.zsh