SecondSonConsulting / Baseline

An MDM agnostic zero touch solution for macOS
MIT License
192 stars 22 forks source link

Using Baseline via Addigy #25

Closed cwbobbitt closed 9 months ago

cwbobbitt commented 11 months ago

General Guidance for Using Baseline with Addigy

There are several ways to use Baseline with Addigy, but the easiest is through a custom software item. Using a configuration profile for Baseline is best suited for Zero Touch deployments where the profile can be deployed prior to Baseline. For other deployments like On-Demand and Self-Service, using a plist is easier as you deploy that along side Baseline in your custom software item.

Configuration Profile

Upload your configuration profile via a Custom Profile within MDM Profiles of Catalog. You can leave the installation priority at 9 unless you intend on using this within a Zero Touch configuration where it should be set at 0.1 (see Zero Touch below).

ConfigProfile

Configuration Plist

If you prefer to use a plist for your configuration, I recommend placing it as an installation file within your custom software item and copying it to the Baseline directory as outlined in the Self Service section.

Custom Software Item

PKG Installer Based Initiation

Baseline can be uploaded just like any other custom software item. You can leave the installation priority at 10 if this will be used for On-Demand or Self-Service. If you're using this for a Zero Touch deployment, set it to 0.2.

CustomSoftwarePKG

Script Based Initiation

If you'd like to run Baseline via a script, you'll want to execute it via a script file since the Installation Script section of custom software items are run through bash. This can be done by creating a custom software item similar to the PKG route, but instead, you'll upload the script file. Then, within the installation script section, you'll call the script via zsh. Similar to the PKG installer, You can leave the installation priority at 10 if this will be used for On-Demand/Self-Service and 0.2 for Zero Touch deployments.

CustomSoftwareScript

Defining Packages and Scripts

For both the PKG Installer and Script initiation methods, if you're defining packages and scripts to be installed/executed, you'll want to upload them as installation files within the same main Baseline custom software item.

SoftwareItem

By default, those files will be downloaded to /Library/Addigy/ansible/packages/Baseline (version)/. Therefore, you'll either want to specify that PackagePath within your Configuraiton Profile/Plist file for each pkg/script or copy those items over to the /usr/local/Baseline/Packages directory in your installation script section and only specify the pkg name in your config file.

Full Custom Software Directory PackagePath

<key>Packages</key>
<array>
    <dict>
        <key>DisplayName</key>
        <string>Example Package</string>
        <key>PackagePath</key>
        <string>/Library/Addigy/ansible/packages/Baseline (version)/ExamplePKG.pkg</string>
        <key>TeamID</key>
        <string>7Q6XP5698G</string>
    </dict>
</array>

Copy Files to Packages Directory

CopyFiles

Zero Touch

To use Baseline in a Zero Touch workflow, specifying an installation priority (https://support.addigy.com/hc/en-us/articles/4419561221523-Installation-Priority) for the main custom software item and the configuraiton profile is needed.

When uploading your configuration profile, set the installation priority to 0.1.

ConfigProfileZeroTouch

For your Baseline custom software item (PKG or Script), set the installation priority to 0.2.

CusotmSoftwarePKGZeroTouch

If you have other items that need to have a 0.1-0.9 Pre-Stage priority, just ensure that you are setting the configuration profile to something before your software item.

Additionally, if you for some reason don't want to go the route of using a configuraiton profile and only want to use the plist method, you'll skip the priority step for your configuration profile and just ensure you have your plist configured similar to the Self-Service instructions below.

On-Demand/Self-Service

There are several options available for On-Demand and Self-Service:

Option 1: If you manually deploy your configuration profile payload first, you can then deploy your Baseline custom software item (script or pkg) just like you would any other software item within GoLive without needing to create anything else.

ConfigProfileDeploy CustomSoftwareDeploy

Option 2: If you'd like to create a single item that you can deploy or make available in Self-Service, you can add your plist and installer within one custom software item like the following:

All_In_One_Deploy
BigMacAdmin commented 9 months ago

I'm embarrassed how long this took me to add to the wiki.

Thank you so much for your contribution, and all of your contributions on Slack as well!