diff --git a/Cisco/Webex.pkg.recipe.yaml b/Cisco/Webex.pkg.recipe.yaml index 4ccb66d..0f496ff 100644 --- a/Cisco/Webex.pkg.recipe.yaml +++ b/Cisco/Webex.pkg.recipe.yaml @@ -18,4 +18,9 @@ Process: - Processor: AppPkgCreator Arguments: app_path: '%pathname%/Webex.app' - pkg_path: '%RECIPE_CACHE_DIR%/%NAME%-%ARCHITECTURE%-%version%.pkg' \ No newline at end of file + pkg_path: '%RECIPE_CACHE_DIR%/%NAME%-%ARCHITECTURE%-%version%.pkg' + +- Processor: PathDeleter + Arguments: + path_list: + - '%RECIPE_CACHE_DIR%/payload' \ No newline at end of file diff --git a/Microsoft/Microsoft_Defender.jamf.recipe.yaml b/Microsoft/Microsoft_Defender.jamf.recipe.yaml new file mode 100644 index 0000000..09acdf0 --- /dev/null +++ b/Microsoft/Microsoft_Defender.jamf.recipe.yaml @@ -0,0 +1,46 @@ +Description: Downloads the latest version of the Microsoft Defender ATP installer package, renames the package, then imports it into your Jamf instance. +Identifier: com.github.smithjw.jamf.microsoft_defender +ParentRecipe: com.github.smithjw.pkg.microsoft_defender +MinimumVersion: '2.3' + +Input: + NAME: Microsoft Defender + CATEGORY: Compliance + GROUP_NAME: '%NAME%-update-smart' + GROUP_TEMPLATE: SmartGroup-update-smart-regex.xml + TESTING_GROUP_NAME: Testing + POLICY_CATEGORY: Testing + POLICY_TEMPLATE: Policy-install-latest.xml + POLICY_NAME: 'Install Latest %NAME%' + POLICY_RUN_COMMAND: ' ' + SELF_SERVICE_DISPLAY_NAME: 'Install Latest %NAME%' + SELF_SERVICE_DESCRIPTION: 'Installs the latest version of Microsoft Defender' + SELF_SERVICE_ICON: '%SOFTWARE_TITLE%.png' + SOFTWARE_TITLE: Microsoft_Defender + INSTALL_BUTTON_TEXT: 'Install' + REINSTALL_BUTTON_TEXT: 'Install' + UPDATE_PREDICATE: 'pkg_uploaded == False' + +Process: + - Processor: com.github.grahampugh.jamf-upload.processors/JamfCategoryUploader + Arguments: + category_name: '%CATEGORY%' + + - Processor: com.github.grahampugh.jamf-upload.processors/JamfPackageUploader + Arguments: + pkg_category: '%CATEGORY%' + + - Processor: StopProcessingIf + Arguments: + predicate: '%UPDATE_PREDICATE%' + + - Processor: com.github.grahampugh.jamf-upload.processors/JamfComputerGroupUploader + Arguments: + computergroup_template: '%GROUP_TEMPLATE%' + computergroup_name: '%GROUP_NAME%' + + - Processor: com.github.grahampugh.jamf-upload.processors/JamfPolicyUploader + Arguments: + policy_template: '%POLICY_TEMPLATE%' + policy_name: '%POLICY_NAME%' + icon: '%SELF_SERVICE_ICON%' \ No newline at end of file diff --git a/Microsoft/Microsoft_Defender.pkg.recipe.yaml b/Microsoft/Microsoft_Defender.pkg.recipe.yaml new file mode 100644 index 0000000..5b78dc2 --- /dev/null +++ b/Microsoft/Microsoft_Defender.pkg.recipe.yaml @@ -0,0 +1,39 @@ +Description: Downloads the latest version of the Microsoft Defender ATP installer package and renames the package. +Identifier: com.github.smithjw.pkg.microsoft_defender +ParentRecipe: com.github.rtrouton.download.microsoftdefenderatp +MinimumVersion: '2.3' + +Input: + NAME: Microsoft Defender + SOFTWARE_TITLE: Microsoft_Defender + +Process: +- Processor: FlatPkgUnpacker + Arguments: + destination_path: '%RECIPE_CACHE_DIR%/unpack' + flat_pkg_path: '%pathname%' + +- Processor: FileFinder + Arguments: + pattern: '%RECIPE_CACHE_DIR%/unpack/*wdav*.pkg' + +- Processor: PkgPayloadUnpacker + Arguments: + destination_path: '%RECIPE_CACHE_DIR%/payload' + pkg_payload_path: '%found_filename%/Payload' + +- Processor: Versioner + Arguments: + input_plist_path: '%RECIPE_CACHE_DIR%/payload/Microsoft Defender ATP.app/Contents/Info.plist' + plist_version_key: 'CFBundleShortVersionString' + +- Processor: PkgCopier + Arguments: + pkg_path: '%RECIPE_CACHE_DIR%/%SOFTWARE_TITLE%-%version%.pkg' + source_pkg: '%pathname%' + +- Processor: PathDeleter + Arguments: + path_list: + - '%RECIPE_CACHE_DIR%/unpack' + - '%RECIPE_CACHE_DIR%/payload' diff --git a/Microsoft/Microsoft_Defender.png b/Microsoft/Microsoft_Defender.png new file mode 100644 index 0000000..08b4539 Binary files /dev/null and b/Microsoft/Microsoft_Defender.png differ diff --git a/iTerm2/iTerm2.download.recipe.yaml b/iTerm2/iTerm2.download.recipe.yaml new file mode 100644 index 0000000..683d651 --- /dev/null +++ b/iTerm2/iTerm2.download.recipe.yaml @@ -0,0 +1,30 @@ +Description: Downloads the latest version of iTerm2. +Identifier: com.github.smithjw.download.iterm2 +MinimumVersion: '2.3' + +Input: + NAME: iTerm2 + DOWNLOAD_URL: 'https://iterm2.com/downloads/stable/latest' + +Process: +- Processor: URLDownloader + Arguments: + prefetch_filename: true + url: '%DOWNLOAD_URL%' + +- Processor: EndOfCheckPhase + +- Processor: Unarchiver + Arguments: + destination_path: '%RECIPE_CACHE_DIR%/unpack' + purge_destination: true + +- Processor: CodeSignatureVerifier + Arguments: + input_path: '%RECIPE_CACHE_DIR%/unpack/iTerm.app' + requirement: 'anchor apple generic and identifier "com.googlecode.iterm2" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = H7V7XYVQ7D)' + +- Processor: Versioner + Arguments: + input_plist_path: '%RECIPE_CACHE_DIR%/unpack/iTerm.app/Contents/Info.plist' + plist_version_key: CFBundleShortVersionString diff --git a/iTerm2/iTerm2.jamf.recipe.yaml b/iTerm2/iTerm2.jamf.recipe.yaml new file mode 100644 index 0000000..925386e --- /dev/null +++ b/iTerm2/iTerm2.jamf.recipe.yaml @@ -0,0 +1,46 @@ +Description: Downloads the latest version and makes a pkg. Then, uploads the package to the Jamf Pro Server and creates a Self Service Policy and Smart Group. +Identifier: com.github.smithjw.jamf.iterm2 +ParentRecipe: com.github.smithjw.sign.iterm2 +MinimumVersion: '2.3' + +Input: + NAME: iTerm2 + CATEGORY: Development + GROUP_NAME: '%NAME%-update-smart' + GROUP_TEMPLATE: SmartGroup-update-smart-regex.xml + TESTING_GROUP_NAME: Testing + POLICY_CATEGORY: Testing + POLICY_TEMPLATE: Policy-install-latest.xml + POLICY_NAME: 'Install Latest %NAME%' + POLICY_RUN_COMMAND: 'chown -R "$(stat -f%Su /dev/console):staff" "/Applications/%NAME%.app" && echo "Corrected permissions for %NAME%."' + SELF_SERVICE_DISPLAY_NAME: 'Install Latest %NAME%' + SELF_SERVICE_DESCRIPTION: 'iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with macOS 10.14 or newer. iTerm2 brings the terminal into the modern age with features you never knew you always wanted.' + SELF_SERVICE_ICON: '%SOFTWARE_TITLE%.png' + SOFTWARE_TITLE: '%NAME%' + INSTALL_BUTTON_TEXT: 'Install' + REINSTALL_BUTTON_TEXT: 'Install' + UPDATE_PREDICATE: 'pkg_uploaded == False' + +Process: + - Processor: com.github.grahampugh.jamf-upload.processors/JamfCategoryUploader + Arguments: + category_name: '%CATEGORY%' + + - Processor: com.github.grahampugh.jamf-upload.processors/JamfPackageUploader + Arguments: + pkg_category: '%CATEGORY%' + + - Processor: StopProcessingIf + Arguments: + predicate: '%UPDATE_PREDICATE%' + + - Processor: com.github.grahampugh.jamf-upload.processors/JamfComputerGroupUploader + Arguments: + computergroup_template: '%GROUP_TEMPLATE%' + computergroup_name: '%GROUP_NAME%' + + - Processor: com.github.grahampugh.jamf-upload.processors/JamfPolicyUploader + Arguments: + policy_template: '%POLICY_TEMPLATE%' + policy_name: '%POLICY_NAME%' + icon: '%SELF_SERVICE_ICON%' \ No newline at end of file diff --git a/iTerm2/iTerm2.pkg.recipe.yaml b/iTerm2/iTerm2.pkg.recipe.yaml new file mode 100644 index 0000000..d337604 --- /dev/null +++ b/iTerm2/iTerm2.pkg.recipe.yaml @@ -0,0 +1,19 @@ +Description: Downloads the latest version of iTerm2 and creates a package. +Identifier: com.github.smithjw.pkg.iterm2 +ParentRecipe: com.github.smithjw.download.iterm2 +MinimumVersion: '2.3' + +Input: + NAME: iTerm2 + +Process: +- Processor: AppPkgCreator + Arguments: + app_path: '%RECIPE_CACHE_DIR%/unpack/iTerm.app' + pkg_path: '%RECIPE_CACHE_DIR%/%NAME%-%version%.pkg' + +- Processor: PathDeleter + Arguments: + path_list: + - '%RECIPE_CACHE_DIR%/unpack' + - '%RECIPE_CACHE_DIR%/payload' \ No newline at end of file diff --git a/iTerm2/iTerm2.png b/iTerm2/iTerm2.png new file mode 100644 index 0000000..3788b35 Binary files /dev/null and b/iTerm2/iTerm2.png differ diff --git a/iTerm2/iTerm2.sign.recipe.yaml b/iTerm2/iTerm2.sign.recipe.yaml new file mode 100644 index 0000000..2d0cf21 --- /dev/null +++ b/iTerm2/iTerm2.sign.recipe.yaml @@ -0,0 +1,20 @@ +Comment: | + In order to use this Recipe, you must have a Developer ID Installer certificate in your Keychain +Description: Downloads the latest version of iTerm2, creates a package, then signs it. +Identifier: com.github.smithjw.sign.iterm2 +ParentRecipe: com.github.smithjw.pkg.iterm2 +MinimumVersion: '2.3' + +Input: + SIGNING_CERTIFICATE: Override_This_Value + +Process: + +- Processor: com.github.rtrouton.SharedProcessors/PkgSigner + Arguments: + signing_cert: '%SIGNING_CERTIFICATE%' + +- Processor: PathDeleter + Arguments: + path_list: + - '%RECIPE_CACHE_DIR%/%NAME%-%version%-unsigned.pkg'