From bb512cc34570b6285d7eb693b52e2293dcdd2487 Mon Sep 17 00:00:00 2001 From: Jonathan Katz <44128041+jkatz01@users.noreply.github.com> Date: Tue, 28 Oct 2025 13:05:47 -0400 Subject: [PATCH] Documentation updates for in-house-app features (#34817) **Related issue:** Resolves # # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. --- articles/deploy-software-packages.md | 5 +++-- docs/REST API/rest-api.md | 12 ++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/articles/deploy-software-packages.md b/articles/deploy-software-packages.md index 78e06c6e45..0a9b399a82 100644 --- a/articles/deploy-software-packages.md +++ b/articles/deploy-software-packages.md @@ -28,7 +28,7 @@ Learn more about automatically installing software [the Automatically install so * Select the "Custom package" tab. -* Choose a file to upload. `.pkg`, `.msi`, `.exe`, `.rpm`, `.deb`, and `.tar.gz` files are supported. +* Choose a file to upload. `.pkg`, `.msi`, `.exe`, `.rpm`, `.deb`, `.ipa`, and `.tar.gz` files are supported. * If you check the "Automatic install" box, Fleet will create a policy that checks for the existence of the software and will automatically trigger an install on hosts where the software does not exist. @@ -36,7 +36,7 @@ Learn more about automatically installing software [the Automatically install so * To customize installer behavior, click on “Advanced options.” -> After the initial package upload, all options, except for automatic install, can be modified. This includes the self-service setting, pre-install query, scripts, and the software package file. However, if the installer package needs to be replaced, the new package must be of the same file type (such as .pkg, .msi, .deb, .rpm, or .exe) and for the same software as the original. Files in .dmg or .zip formats cannot be edited or uploaded for replacement. If you want to enable automatic installs after initial package upload, follow the steps in our [automatic software install guide](https://fleetdm.com/guides/automatic-software-install-in-fleet) to add an automatic install policy. +> After the initial package upload, all options, except for automatic install, can be modified. This includes the self-service setting, pre-install query, scripts, and the software package file. However, if the installer package needs to be replaced, the new package must be of the same file type (such as .pkg, .msi, .exe, .deb, .rpm, or .ipa) and for the same software as the original. Files in .dmg or .zip formats cannot be edited or uploaded for replacement. If you want to enable automatic installs after initial package upload, follow the steps in our [automatic software install guide](https://fleetdm.com/guides/automatic-software-install-in-fleet) to add an automatic install policy. ### Package metadata extraction @@ -51,6 +51,7 @@ Software installer uploads will fail if Fleet can't extract this metadata and ve - [.exe extractor code](https://github.com/fleetdm/fleet/blob/main/pkg/file/pe.go#:~:text=func%20ExtractPEMetadata) - [.deb extractor code](https://github.com/fleetdm/fleet/blob/main/pkg/file/deb.go#:~:text=func%20ExtractDebMetadata) - [.rpm extractor code](https://github.com/fleetdm/fleet/blob/main/pkg/file/rpm.go#:~:text=func%20ExtractRPMMetadata) +- [.ipa extractor code](https://github.com/fleetdm/fleet/blob/main/pkg/file/ipa.go#:~:text=func%20ExtractIPAMetadata) .tar.gz archives are uploaded as-is without attempting to pull metadata, and will be added successfully as long as they are valid archives, and as long as install and uninstall scripts are supplied. diff --git a/docs/REST API/rest-api.md b/docs/REST API/rest-api.md index ce1a9b4534..6eb867404f 100644 --- a/docs/REST API/rest-api.md +++ b/docs/REST API/rest-api.md @@ -10510,7 +10510,7 @@ Operating systems other than Windows, macOS, and Linux do not report vulnerabili _Available in Fleet Premium._ -Add a package (.pkg, .msi, .exe, .deb, .rpm, .tar.gz) to install on macOS, Windows, or Linux hosts. +Add a package (.pkg, .msi, .exe, .deb, .rpm, .tar.gz, .ipa) to install on macOS, Windows, Linux, iOS, or iPadOS hosts. `POST /api/v1/fleet/software/package` @@ -10519,7 +10519,7 @@ Add a package (.pkg, .msi, .exe, .deb, .rpm, .tar.gz) to install on macOS, Windo | Name | Type | In | Description | | ---- | ------- | ---- | -------------------------------------------- | -| software | file | form | **Required**. Installer package file. Supported packages are .pkg, .msi, .exe, .deb, and .rpm. | +| software | file | form | **Required**. Installer package file. Supported packages are .pkg, .msi, .exe, .deb, .rpm, .tar.gz, and .ipa | | team_id | integer | form | **Required**. The team ID. Adds a software package to the specified team. | | install_script | string | form | Script that Fleet runs to install software. If not specified Fleet runs the [default install script](https://github.com/fleetdm/fleet/tree/main/pkg/file/scripts) for each package type if one exists. Required for `.tar.gz` and `.exe` (no default script). | | uninstall_script | string | form | Script that Fleet runs to uninstall software. If not specified Fleet runs the [default uninstall script](https://github.com/fleetdm/fleet/tree/main/pkg/file/scripts) for each package type if one exists. Required for `.tar.gz` and `.exe` (no default script). | @@ -10528,7 +10528,7 @@ Add a package (.pkg, .msi, .exe, .deb, .rpm, .tar.gz) to install on macOS, Windo | self_service | boolean | form | Self-service software is optional and can be installed by the end user. | | labels_include_any | array | form | Target hosts that have any label, specified by label name, in the array. | | labels_exclude_any | array | form | Target hosts that don't have any label, specified by label name, in the array. | -| automatic_install | boolean | form | Only supported for macOS apps. Specifies whether to create a policy that triggers a software install only on hosts missing the software. | +| automatic_install | boolean | form | Specifies whether to create a policy that triggers a software install only on hosts missing the software. Not supported for iOS, iPadOS, Android | Only one of `labels_include_any` or `labels_exclude_any` can be specified. If neither are specified, all hosts are targeted. @@ -10607,7 +10607,7 @@ Content-Type: application/octet-stream _Available in Fleet Premium._ -Update a package to install on macOS, Windows, or Linux (Ubuntu) hosts. +Update a package to install on macOS, Windows, Linux, iOS, or iPadOS hosts. `PATCH /api/v1/fleet/software/titles/:id/package` @@ -10616,7 +10616,7 @@ Update a package to install on macOS, Windows, or Linux (Ubuntu) hosts. | Name | Type | In | Description | | ---- | ------- | ---- | -------------------------------------------- | | id | integer | path | ID of the software title being updated. | -| software | file | form | Installer package file. Supported packages are .pkg, .msi, .exe, .deb, and .rpm. | +| software | file | form | Installer package file. Supported packages are .pkg, .msi, .exe, .deb, .rpm, .tar.gz, and .ipa | | team_id | integer | form | **Required**. The team ID. Updates a software package in the specified team. | | categories | string[] | form | Zero or more of the [supported categories](https://fleetdm.com/docs/configuration/yaml-files#supported-software-categories), used to group self-service software on your end users' **Fleet Desktop > My device** page. Software with no categories will be still be shown under **All**. | | install_script | string | form | Command that Fleet runs to install software. If not specified Fleet runs the [default install command](https://github.com/fleetdm/fleet/tree/main/pkg/file/scripts) for each package type. | @@ -10874,7 +10874,7 @@ Add App Store (VPP) app purchased in Apple Business Manager. | app_store_id | string | body | **Required.** The ID of App Store app. | | team_id | integer | body | **Required**. The team ID. Adds VPP software to the specified team. | | platform | string | body | The platform of the app (`darwin`, `ios`, or `ipados`). Default is `darwin`. | -| self_service | boolean | body | Only supported for macOS apps. Specifies whether the app shows up on the **Fleet Desktop > My device** page and is available for install by the end user. | +| self_service | boolean | body | Specifies whether the app shows up on the **Fleet Desktop > My device** page and is available for install by the end user. | | ensure | string | form | For macOS only, if set to "present" (currently the only valid value if set), create a policy that triggers a software install only on hosts missing the software. | | labels_include_any | array | form | Target hosts that have any label, specified by label name, in the array. | | labels_exclude_any | array | form | Target hosts that don't have any label, specified by label name, in the array. |