From 4a5de5c3868907bc3dfbdef9209265f055713d21 Mon Sep 17 00:00:00 2001 From: Jahziel Villasana-Espinoza Date: Mon, 9 Feb 2026 10:43:27 -0500 Subject: [PATCH] oncall doc updates (#39517) --- .../software-inventory.md | 0 .../vulnerability-management.md | 2 - .../vulnerability-processing.md | 0 .../architecture/software/README.md | 4 +- .../software/software-automations.md | 5 +- .../software/software-installation.md | 74 +++++++++---------- .../software/software-overview.md | 23 ------ .../architecture/software/software-updates.md | 1 - 8 files changed, 41 insertions(+), 68 deletions(-) rename docs/Contributing/architecture/{software => security-compliance}/software-inventory.md (100%) rename docs/Contributing/architecture/{software => security-compliance}/vulnerability-management.md (88%) rename docs/Contributing/architecture/{software => security-compliance}/vulnerability-processing.md (100%) diff --git a/docs/Contributing/architecture/software/software-inventory.md b/docs/Contributing/architecture/security-compliance/software-inventory.md similarity index 100% rename from docs/Contributing/architecture/software/software-inventory.md rename to docs/Contributing/architecture/security-compliance/software-inventory.md diff --git a/docs/Contributing/architecture/software/vulnerability-management.md b/docs/Contributing/architecture/security-compliance/vulnerability-management.md similarity index 88% rename from docs/Contributing/architecture/software/vulnerability-management.md rename to docs/Contributing/architecture/security-compliance/vulnerability-management.md index 684fa64d7b..e82613a0b0 100644 --- a/docs/Contributing/architecture/software/vulnerability-management.md +++ b/docs/Contributing/architecture/security-compliance/vulnerability-management.md @@ -35,5 +35,3 @@ To learn more, read our [vulnerability processing](https://fleetdm.com/guides/vu - [Vulnerability processing guide](https://fleetdm.com/guides/vulnerability-processing) - [Software filtering guide](https://fleetdm.com/guides/filtering-software-by-vulnerability) - [Remediating the cx vulnerability with Fleet guide](https://fleetdm.com/guides/remediating-the-xz-vulnerability-with-fleet) -- [Software Product Group Documentation](../../product-groups/software/) - Documentation for the Software product group -- [Software Development Guides](../../guides/software/) - Guides for Software development diff --git a/docs/Contributing/architecture/software/vulnerability-processing.md b/docs/Contributing/architecture/security-compliance/vulnerability-processing.md similarity index 100% rename from docs/Contributing/architecture/software/vulnerability-processing.md rename to docs/Contributing/architecture/security-compliance/vulnerability-processing.md diff --git a/docs/Contributing/architecture/software/README.md b/docs/Contributing/architecture/software/README.md index 9bf24cfd6c..21f9d03202 100644 --- a/docs/Contributing/architecture/software/README.md +++ b/docs/Contributing/architecture/software/README.md @@ -1,6 +1,6 @@ # Software architecture -Fleet's software architecture is designed to manage software across the device fleet, including software inventory, vulnerability management, and software installation. This directory contains documentation about Fleet's software architecture. +Fleet's software architecture is designed to manage software across the device fleet, including software inventory and software installation. This directory contains documentation about Fleet's software architecture. ## Contents @@ -14,4 +14,4 @@ Fleet's software architecture is designed to manage software across the device f ## Related resources -- [Software Product Group Documentation](../../product-groups/software/) - Documentation for the Software product group \ No newline at end of file +- [Software Product Group Documentation](../../product-groups/software/) - Documentation for the Software product group diff --git a/docs/Contributing/architecture/software/software-automations.md b/docs/Contributing/architecture/software/software-automations.md index ef44fb6766..8a51de5547 100644 --- a/docs/Contributing/architecture/software/software-automations.md +++ b/docs/Contributing/architecture/software/software-automations.md @@ -1,10 +1,10 @@ -# Software policies architecture +# Software automation architecture This document provides an overview of Fleet's software automation architecture. ## Introduction -Software automation in Fleet enable organizations automatically install or update software based on a policy. +Software automation in Fleet enable organizations automatically install or update software based on a [policy](https://fleetdm.com/securing/what-are-fleet-policies). ## Architecture overview @@ -19,4 +19,3 @@ Software automation in Fleet enable organizations automatically install or updat ## Related resources - [Software Product Group Documentation](../../product-groups/software/) - Documentation for the Software product group -- [Software Development Guides](../../guides/software/) - Guides for Software development \ No newline at end of file diff --git a/docs/Contributing/architecture/software/software-installation.md b/docs/Contributing/architecture/software/software-installation.md index 00414e569e..10858292ff 100644 --- a/docs/Contributing/architecture/software/software-installation.md +++ b/docs/Contributing/architecture/software/software-installation.md @@ -13,13 +13,23 @@ interactions specific to the Software Installation functionality. ### Software types Fleet supports 3 different types of installable software: custom packages, Fleet-maintained apps, -and VPP apps. +and app store apps. #### Custom packages Custom packages are software packages whose installer is uploaded directly to Fleet by an admin. -Fleet supports `.pkg`, `.msi`, `.exe`, `.deb.`, and `.rpm` installers for custom packages. +Fleet supports the following installer files as custom packages + +| Installer file extension | Supported platform(s) | +| ----------- | ----------- | +| .pkg | macOS | +| .ipa | iOS, iPadOS | +| .msi | Windows | +| .exe | Windows | +| .deb | Debian-based Linux | +| .rpm | RHEL-based Linux | + #### Fleet-maintained apps @@ -27,21 +37,21 @@ Fleet-maintained apps are software that Fleet curates. Fleet sources installers install and uninstall scripts for Fleet-maintained apps, so that admins can add them to their software library with just a few clicks. -#### VPP apps +#### App store apps -VPP apps are apps that can be added using Apple's Volume Purchasing Program functionality. These -apps are only for Apple devices (macOS, iOS, and iPadOS) and are managed using the Apple MDM protocol. +App store apps are software that is installed directly from an external app store. Fleet currently supports +the Apple App Store (via [VPP](https://developer.apple.com/documentation/devicemanagement/managing-apps-and-books-through-web-services-legacy) apps (for macOS, iOS, and iPadOS hosts)) +and the Google Play Store (for Android hosts). -## Architecture overview +## Architecture diagrams -## Key components +### VPP app install and verification -## Architecture diagram +VPP apps are installed using the Apple MDM protocol. When an install is triggered, Fleet sends an `InstallApplication` command +to the host. -### VPP app install verification - -Fleet verifies VPP app installs by sending a series of `InstalledApplicationList` MDM commands after -the acknowledgment of the `InstallApplication` command. It attempts to verify until either +To verify that the install was successful, Fleet sends a series of `InstalledApplicationList` MDM commands after +the acknowledgment of the `InstallApplication` command. Fleet attempts to verify until either - the app shows up in the `InstalledApplicationList` response as installed, or - the verification timeout (defaults to 10m, configurable via the `FLEET_SERVER_VPP_VERIFY_TIMEOUT` env var). @@ -50,19 +60,22 @@ the acknowledgment of the `InstallApplication` command. It attempts to verify un ```mermaid sequenceDiagram autonumber - Fleet->>+Host: InstallApplicationCommand - Host-->>-Fleet: Acknowledged + Note over Fleet,Host: Installation + Fleet->>+Host: InstallApplicationCommand + Host-->>-Fleet: Acknowledged - Fleet->>+Fleet: Start timeout - - loop Verification loop - Fleet->>+Host: InstalledApplicationListCommand - Host-->>-Fleet: Acknowledged
[list of apps] - critical Check app status - option app in list, installed, exit: - Fleet->>+Fleet: Move status to "Installed" - option app not in list, timeout: - Fleet->>+Fleet: Move status to "Failed" + Note over Fleet,Host: Verification + + Fleet->>+Fleet: Start timeout + + loop Verification loop + Fleet->>+Host: InstalledApplicationListCommand + Host-->>-Fleet: Acknowledged
[list of apps] + critical Check app status + option app in list, installed, exit: + Fleet->>+Fleet: Move status to "Installed" + option app not in list, timeout: + Fleet->>+Fleet: Move status to "Failed" end end ``` @@ -106,19 +119,6 @@ graph TD end ``` -## Platform-specific implementations - -### macOS - -### Windows - -### Linux - -### iOS/iPadOS - -### Android - ## Related resources - [Software product group documentation](../../product-groups/software/) - Documentation for the Software product group -- [Software development guides](../../guides/software/) - Guides for Software development \ No newline at end of file diff --git a/docs/Contributing/architecture/software/software-overview.md b/docs/Contributing/architecture/software/software-overview.md index 3922c1f45e..ff52a3dcbc 100644 --- a/docs/Contributing/architecture/software/software-overview.md +++ b/docs/Contributing/architecture/software/software-overview.md @@ -22,28 +22,6 @@ The Software architecture consists of the following main components: [Placeholder for Software Architecture Diagram] ``` -## Software inventory - -The Software Inventory component collects and manages information about installed software on devices. It leverages osquery's capabilities to collect software information and Fleet's infrastructure to process and display it. - -### Inventory collection flow - -1. osquery agent collects software information using osquery tables. -2. osquery agent sends the information to the Fleet server. -3. Server processes and stores the information in the database. -4. UI displays the information to users. - -## Vulnerability management - -The Vulnerability Management component identifies and manages software vulnerabilities in the device fleet. It compares installed software versions with known vulnerabilities and provides information about affected devices. - -### Vulnerability identification flow - -1. Server retrieves software inventory information from the database. -2. Server compares software versions with vulnerability databases. -3. Server identifies vulnerable software and affected devices. -4. UI displays vulnerability information to users. - ## Software installation The Software Installation component manages the installation of software on devices. It leverages platform-specific mechanisms to install software packages. @@ -67,4 +45,3 @@ The Software architecture integrates with the following components: ## Related resources - [Software Product Group Documentation](../../product-groups/software/) - Documentation for the Software product group -- [Software Development Guides](../../guides/software/) - Guides for Software development \ No newline at end of file diff --git a/docs/Contributing/architecture/software/software-updates.md b/docs/Contributing/architecture/software/software-updates.md index faa65fbab6..93f43a3a4d 100644 --- a/docs/Contributing/architecture/software/software-updates.md +++ b/docs/Contributing/architecture/software/software-updates.md @@ -35,4 +35,3 @@ The software updates architecture enables the identification, configuration, and ## Related resources - [Software product group documentation](../../product-groups/software/) - Documentation for the software product group -- [Software development guides](../../guides/software/) - Guides for software development \ No newline at end of file