Mac-Nerd / patchomator

Management script for Installomator.
Apache License 2.0
106 stars 9 forks source link

Jamf Pro Integration #4

Closed albiii closed 1 year ago

albiii commented 1 year ago

If your running the installomator labels from Jamf Pro as self-service policies. How do I configure patchomator to update those installed installomator labels with that setup? I want to eliminate the individual update policies in Jamf pro and use your product. I have some custom configurations in m installomator script and I want to take advantage of those configurations.

Mac-Nerd commented 1 year ago

If I understand this right, all you should need to do is run /usr/local/Installomator/patchomator.sh --install and it will find and update anything already installed by self-service.

If someone else who runs Jamf can comment and correct me or confirm, I'll add a section in the readme for Jamf users.

[update - left .sh off the command]

duderin0 commented 1 year ago

EDIT: Sorry, I've mixed a few things up and my information wasn't quite right. Working in the MacAdmins Slack to troubleshoot this. The method works if the config file was already created and labels downloaded separately, but that doesn't help in practice.

Patchomator also needs the .sh on the end of the script (Jamf couldn't find it without it) but my process otherwise was 1. Install Installomator, 2. Install the PKG, 3. Run the above command (with .sh) and here is the output:

Script result: /usr/local/Installomator/patchomator.sh:96: command not found: realpath usage: dirname string [...] tput: No value for $TERM and no -T specified tput: No value for $TERM and no -T specified tput: No value for $TERM and no -T specified tput: No value for $TERM and no -T specified [NOTICE] Verbose Mode enabled. [NOTICE] Checking for configuration at /Library/Application Support/Patchomator/patchomator.plist [NOTICE] No config file at /Library/Application Support/Patchomator/patchomator.plist. Running discovery. [NOTICE] Looking for labels in /fragments/labels/ [FATAL ERROR] Package labels not present and is not writable. Re-run patchomator with sudo to download and install them.

Though I thought everything run from jamf was running from sudo, but there might be something I'm missing here.

@albiii the way I actually got it working however, is to upload the script instead, add that to the policy, and change the parameters to add any switches you need. I think every parameter needs its own line, and you can see in my attached screenshot exactly how it's done. Of course if all you want it for it to update everything it finds you will only need --install in parameter 4 and that's it.

Well, I personally like to run the Installomator installer script with priority "before" and Patchomator "After" in the same policy, but that is up to you how you deploy or work with it. We weren't installing installomator with other software installs but only for this script. We may change that in the future.

By the way @Mac-Nerd running the script itself also gives the same TPUT errors as above, but not the rest.

image

albiii commented 1 year ago

So in your version... how are you controlling the installomator settings? In my environment, the installomator policies are run during enrollment. So the installomator binary is not on the system. The process seems to work, and I am going to package up the config file to be distributed with the patchomator package. The only thing not working is the silenced notifications from the update...

sudo /usr/local/Installomator/patchomator.sh -v --install --ignored "googlechrome firefox_da firefox_intl firefoxdeveloperedition firefoxesr firefoxesr_intl firefoxesrpkg firefoxpkg firefoxpkg_intl googlechromeenterprise zoomclient zoomgov bluejeanswithaudiodriver microsoftonedrive-rollingout " -c /Library/Application\ Support/Patchomator/pathomator.plist

[image: Mesa Community College logo] Alvin L. Bridges III Mesa Community College MARICOPA COMMUNITY COLLEGES College Technology Services Interim Chief Information Officer 1833 West Southern Avenue, Mesa AZ 85202 @.*** https://www.mesacc.edu/ O: 480-461-7813

On Fri, Apr 28, 2023 at 10:20 AM duderin0 @.***> wrote:

EDIT: Sorry, I've mixed a few things up and my information wasn't quite right. Working in the MacAdmins Slack to troubleshoot this. The method works if the config file was already created and labels downloaded separately, but that doesn't help in practice.

Patchomator also needs the .sh on the end of the script (Jamf couldn't find it without it) but my process otherwise was 1. Install Installomator,

  1. Install the PKG, 3. Run the above command (with .sh) and here is the output:

Script result: /usr/local/Installomator/patchomator.sh:96: command not found: realpath usage: dirname string [...] tput: No value for $TERM and no -T specified tput: No value for $TERM and no -T specified tput: No value for $TERM and no -T specified tput: No value for $TERM and no -T specified [NOTICE] Verbose Mode enabled. [NOTICE] Checking for configuration at /Library/Application Support/Patchomator/patchomator.plist [NOTICE] No config file at /Library/Application Support/Patchomator/patchomator.plist. Running discovery. [NOTICE] Looking for labels in /fragments/labels/ [FATAL ERROR] Package labels not present and is not writable. Re-run patchomator with sudo to download and install them.

Though I thought everything run from jamf was running from sudo, but there might be something I'm missing here.

@albiii https://github.com/albiii the way I actually got it working however, is to upload the script instead, add that to the policy, and change the parameters to add any switches you need. I think every parameter needs its own line, and you can see in my attached screenshot exactly how it's done. Of course if all you want it for it to update everything it finds you will only need --install in parameter 4 and that's it.

Well, I personally like to run the Installomator installer script with priority "before" and Patchomator "After" in the same policy, but that is up to you how you deploy or work with it. We weren't installing installomator with other software installs but only for this script. We may change that in the future.

By the way @Mac-Nerd https://github.com/Mac-Nerd running the script itself also gives the same TPUT errors as above, but not the rest.

[image: image] https://user-images.githubusercontent.com/87411326/235198100-5fdb1175-0c85-4aac-94d6-b99242231015.png

— Reply to this email directly, view it on GitHub https://github.com/Mac-Nerd/patchomator/issues/4#issuecomment-1527861001, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJFAI7Y7L2GM4ZYKZFCLFTXDP36VANCNFSM6AAAAAAXOZOCD4 . You are receiving this because you were mentioned.Message ID: @.***>

Mac-Nerd commented 1 year ago

The above error with "command not found: realpath" has been fixed in 1.0.1

I'm looking for comments/advice on documenting a preferred Jamf workflow.

JordyThery commented 1 year ago

I've made a pull request of the execution script we use internally ( #6 ) and also shared this (quickly wrote up) PDF in the Slack channel to further explain how we use it with Jamf Pro. I don't know if that is any assistance? patchomator.pdf

Mac-Nerd commented 1 year ago

Closed with PR #6