fleet/orbit/pkg
Victor Lyuboslavsky 19014bfd8f
Added support for retry logic in setup experience software installations. (#32823)
Fixes #32580

- Added retry logic for software installs
- Added sending intermediate results to Fleet server

I QA'd this on Linux (see video below). For macOS and Windows, I QA'd it
by having the server force retries on normal (non-setup experience
software installs).

Demo video: https://youtu.be/dbu78G6bXf8

# Checklist for submitter

- [x] 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.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually

## fleetd/orbit/Fleet Desktop

- [x] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [x] Verified that fleetd runs on macOS, Linux and Windows
- [x] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- New Features
- Automatic retries for software installations, with exponential backoff
on transient/network errors.
- Intermediate failures are recorded without closing the original
request; subsequent attempts continue automatically.
- Activity feed entries are created for intermediate failures, including
install identifiers.
- Setup experience installs now retry automatically (up to 3 attempts).

- Tests
- Expanded test coverage for retry behavior, error classification, and
intermediate failure reporting.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-16 12:26:14 -05:00
..
augeas fleetctl, API, copy updates around host identifiers (#20220) 2024-07-09 10:25:01 -07:00
bitlocker Fix Windows lint issues and enable linting on Windows (#28704) 2025-05-02 16:11:26 -04:00
build
constant Changes to not rely on Fleet Desktop for Linux setup experience (#33018) 2025-09-16 13:26:00 -03:00
cryptoinfo Enable staticcheck Go linter. (#23487) 2024-11-05 11:16:24 -06:00
dataflatten Additional CA validation (#27169) 2025-03-19 08:27:55 -05:00
dialog Removed indicator for background LUKS validation (#28218) 2025-04-16 12:25:41 -04:00
execuser Fix orbit process launch issues that can hit /proc/keys limits (#32309) 2025-08-28 09:20:32 -05:00
go-paniclog Fix Windows lint issues and enable linting on Windows (#28704) 2025-05-02 16:11:26 -04:00
insecure
installer Added support for retry logic in setup experience software installations. (#32823) 2025-09-16 12:26:14 -05:00
kdialog Removed indicator for background LUKS validation (#28218) 2025-04-16 12:25:41 -04:00
keystore Add gosimple linter (#23250) 2024-10-29 14:17:51 -05:00
logging Reduce orbit logging when the server is down (#16968) 2024-02-21 15:36:15 -03:00
luks Re-verify Linux disk encryption #26693 (#29034) 2025-05-22 16:15:26 -04:00
lvm Linux agent LVM volume detection on older Ubuntu versions (#24193) 2024-11-27 10:39:25 -07:00
migration fix: add missing comments 2024-08-15 19:00:47 -04:00
osquery Perform early restart before starting sub-systems and minor refactor of orbit sub-systems (#20610) 2024-07-19 12:44:43 -03:00
osservice 8009 fleet desktop icon duplication (#8017) 2022-10-13 10:58:37 -03:00
packaging When building Linux and macOS fleetd packages, removed duplicate copies of osqueryd and fleet-desktop (#32697) 2025-09-09 17:13:30 -05:00
platform Fix Windows lint issues and enable linting on Windows (#28704) 2025-05-02 16:11:26 -04:00
process
profiles Fallback to ConfigurationURL when ConfigurationWebURL is not set in macOS MDM enrollment profile (#30462) 2025-07-02 13:47:42 -05:00
scripts Fix Windows lint issues and enable linting on Windows (#28704) 2025-05-02 16:11:26 -04:00
setup_experience Changes to not rely on Fleet Desktop for Linux setup experience (#33018) 2025-09-16 13:26:00 -03:00
swiftdialog 28434 Setup experience reliability (#28931) 2025-05-08 14:05:31 -04:00
table Add ability to determine Bitlocker protectors (#31090) 2025-07-24 18:30:55 -04:00
token Fixing fleetd to NOT make unnecessary duplicate call to orbit/device_token endpoint. (#15543) 2023-12-10 17:00:24 -06:00
update When building Linux and macOS fleetd packages, removed duplicate copies of osqueryd and fleet-desktop (#32697) 2025-09-09 17:13:30 -05:00
user Run fleet desktop with user SELinux context when applicable (#30882) 2025-07-25 08:44:13 -05:00
useraction Update Makefile swift dialog versions and add github workflow (#32511) 2025-09-05 10:49:21 -04:00
windows Add Kolide osquery tables 2023-11-01 20:11:35 -06:00
zenity Removed indicator for background LUKS validation (#28218) 2025-04-16 12:25:41 -04:00