From 072f51e30cbb02f39ddcd8c1978cc58b61007e38 Mon Sep 17 00:00:00 2001 From: Sean Christians Date: Wed, 28 Feb 2024 19:46:46 -0500 Subject: [PATCH 1/3] ADD: JSON Schema for External Applications payload in Jamf Pro --- MDM/Jamf Pro/outset-preferences-schema.json | 49 +++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 MDM/Jamf Pro/outset-preferences-schema.json diff --git a/MDM/Jamf Pro/outset-preferences-schema.json b/MDM/Jamf Pro/outset-preferences-schema.json new file mode 100644 index 0000000..78ac01d --- /dev/null +++ b/MDM/Jamf Pro/outset-preferences-schema.json @@ -0,0 +1,49 @@ +{ + "__preferencedomain": "io.macadmins.Outset", + "options": { + "remove_empty_properties": true + }, + "title": "Outset (io.macadmins.Outset)", + "description": "Outset automatically processes packages and scripts during the boot sequence, user logins, or on demand.", + "properties": { + "ignored_users": { + "title": "Ignored Users", + "description": "Exclude certain users from scripts that run in the login context (I.e. a local admin account or a static kiosk user).", + "type": "array", + "items": { + "type": "string" + } + }, + "network_timeout": { + "title": "Network Timeout", + "description": "By default, during boot-once runs, Outset will wait for an active network connection before continuing. If that directory is populated, it would check every ten seconds for a valid network connection, timing out after a total of 180 seconds (three minutes) and skipping those items if no connection is successfully detected.", + "type": "integer", + "default": "180", + "options": { + "inputAttributes": { + "placeholder": "180" + } + } + }, + "wait_for_network": { + "title": "Wait for Network", + "description": "If you don't want Outset to wait for a valid network connection at all (and you don't want it to suppress the loginwindow process while running scripts) you can deliver a readable preference file with the wait_for_network value set to boolean false.", + "type": "boolean", + "default": true + }, + "sha256sum": { + "title": "Checksums", + "description": "Enforce script integrity and ensure that only script that you want to run gets run. When used, every file to be processed must have a matching hash value. Absence of a hash value or value mismatch will prevent Outset from processing that file.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "verbose_logging": { + "title": "Verbose Logging", + "description": "Enable verbose logging", + "type": "boolean", + "default": false + } + } +} \ No newline at end of file From 9539615cfa6cd1c583fe1ea6950b38dff3446e09 Mon Sep 17 00:00:00 2001 From: Sean Christians Date: Wed, 28 Feb 2024 19:52:08 -0500 Subject: [PATCH 2/3] FIX: Mismatched indentation --- MDM/Jamf Pro/outset-preferences-schema.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MDM/Jamf Pro/outset-preferences-schema.json b/MDM/Jamf Pro/outset-preferences-schema.json index 78ac01d..1926681 100644 --- a/MDM/Jamf Pro/outset-preferences-schema.json +++ b/MDM/Jamf Pro/outset-preferences-schema.json @@ -1,8 +1,8 @@ { "__preferencedomain": "io.macadmins.Outset", - "options": { - "remove_empty_properties": true - }, + "options": { + "remove_empty_properties": true + }, "title": "Outset (io.macadmins.Outset)", "description": "Outset automatically processes packages and scripts during the boot sequence, user logins, or on demand.", "properties": { From e22ceb4a5a1be3de103fd600909c6e43167bfa98 Mon Sep 17 00:00:00 2001 From: Howard Griffith Date: Mon, 18 Nov 2024 22:46:23 -0600 Subject: [PATCH 3/3] Fix for issue #54 Fixes the checksum all command so that the outset/logs folder is ignored --- Outset/Utils/FileUtils/Checksum.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Outset/Utils/FileUtils/Checksum.swift b/Outset/Utils/FileUtils/Checksum.swift index 722ddc2..c1d7434 100644 --- a/Outset/Utils/FileUtils/Checksum.swift +++ b/Outset/Utils/FileUtils/Checksum.swift @@ -73,7 +73,7 @@ func checksumAllFiles() { for case let fileURL as URL in enumerator { do { let fileAttributes = try fileURL.resourceValues(forKeys: [.isRegularFileKey]) - if fileAttributes.isRegularFile! && fileURL.pathExtension != "plist" && fileURL.lastPathComponent != "outset" { + if fileAttributes.isRegularFile! && fileURL.pathExtension != "plist" && fileURL.lastPathComponent != "outset" && !fileURL.relativePath.contains(logFilePath) { if let shasum = sha256(for: fileURL) { printStdOut("\(fileURL.relativePath) : \(shasum)") shasumPlist.sha256sum[fileURL.relativePath] = shasum