fleet/ee/server/service
Ian Littman 3f703b557a
Allow setting software icons via GitOps (#32886)
Fixes #31897.

# 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.

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

## Testing

- [ ] Added/updated automated tests

- [ ] QA'd all new/changed functionality manually

## New Fleet configuration settings

- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
- [x] Verified the setting is documented in a separate PR to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [ ] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [x] Verified that any relevant UI is disabled when GitOps mode is
enabled

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

## Summary by CodeRabbit

- New Features
- GitOps now supports software icons: generate and include icon
files/paths in specs for packages and App Store apps.
  - CLI adds flags to control concurrent icon uploads/updates.
- Icons are uploaded, updated, or deleted automatically during GitOps
runs.
  - UI YAML modal now includes icon_url and offers icon download.

- Improvements
  - Robust path resolution for icon assets across specs.
  - Non-YAML outputs handle both string and byte file contents.

- Bug Fixes
  - Removes stale icons after App Store app re-association.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Scott Gress <scottmgress@gmail.com>
Co-authored-by: Scott Gress <scott@fleetdm.com>
Co-authored-by: Jahziel Villasana-Espinoza <jahziel@fleetdm.com>
2025-09-26 15:59:48 -05:00
..
digicert Hydrant CA Feature Branch (#31807) 2025-09-04 12:39:41 -04:00
embedded_scripts Delaying reboot so that script can report status. (#33386) 2025-09-24 14:25:52 -05:00
hostidentity Added missing OpenTelemetry instrumentation to several API endpoints. (#32960) 2025-09-16 11:10:33 -05:00
hydrant Hydrant CA Feature Branch (#31807) 2025-09-04 12:39:41 -04:00
testdata Populate version for macOS Chrome FMA on import, use Chrome Enterprise PKG instead of DMG, add tooltip on "latest" version when adding FMA (#30926) 2025-07-24 16:14:01 -05:00
appconfig.go enable controlled rollout of features by teams (#7408) 2022-08-30 08:13:09 -03:00
calendar.go Speculative fix for calendar/webhook authz issue (#31642) 2025-08-07 17:30:56 +02:00
calendar_test.go Speculative fix for calendar/webhook authz issue (#31642) 2025-08-07 17:30:56 +02:00
certificate_authorities.go Validate username, password and challenge URL on any changes for Smallstep (#33501) 2025-09-26 09:24:48 -05:00
certificate_authorities_test.go Validate username, password and challenge URL on any changes for Smallstep (#33501) 2025-09-26 09:24:48 -05:00
devices.go Changes to not rely on Fleet Desktop for Linux setup experience (#33018) 2025-09-16 13:26:00 -03:00
errors.go Hydrant CA Feature Branch (#31807) 2025-09-04 12:39:41 -04:00
hosts.go Fix MDM lock command race condition preventing duplicate PINs (#33001) 2025-09-17 15:38:54 -04:00
maintained_apps.go Add custom software icons (#32652) 2025-09-05 17:31:03 -05:00
maintained_apps_test.go Populate version for macOS Chrome FMA on import, use Chrome Enterprise PKG instead of DMG, add tooltip on "latest" version when adding FMA (#30926) 2025-07-24 16:14:01 -05:00
mdm.go Add new datastore method, validate when setting manual agent install (#32815) 2025-09-18 13:03:51 -04:00
mdm_export_for_test.go Update/fix/add tests for puppet-related flow (preassign+match) (#17859) 2024-03-26 13:41:40 -04:00
mdm_external_test.go Add custom software icons (#32652) 2025-09-05 17:31:03 -05:00
mdm_profiles.go Enforce FileVault at login when manually enrolled (#31170) 2025-08-01 15:15:11 +02:00
mdm_test.go Added support of $FLEET_VAR_HOST_UUID in Windows MDM configuration profiles (#31695) 2025-08-10 12:24:38 +02:00
orbit.go Add support for Windows setup experience software (#33134) 2025-09-18 16:39:15 -03:00
request_certificate.go Hydrant CA Feature Branch (#31807) 2025-09-04 12:39:41 -04:00
request_certificate_test.go Hydrant CA Feature Branch (#31807) 2025-09-04 12:39:41 -04:00
scep_proxy.go Add backend support for Smallstep CA (#32872) 2025-09-25 10:03:36 -05:00
scep_proxy_test.go Add backend support for Smallstep CA (#32872) 2025-09-25 10:03:36 -05:00
scim.go Added scim/details endpoint (#28007) 2025-04-10 14:08:45 -05:00
service.go Add custom software icons (#32652) 2025-09-05 17:31:03 -05:00
setup_experience.go Add new datastore method, validate when setting manual agent install (#32815) 2025-09-18 13:03:51 -04:00
setup_experience_test.go Add new datastore method, validate when setting manual agent install (#32815) 2025-09-18 13:03:51 -04:00
software.go Fixed bug when using without_vulnerability_details and vulnerability filters (#24769) 2024-12-13 16:39:21 -06:00
software_installers.go Bugfix: retry VPP assets API call on Apple timeout, until our own context hits its timeout (#33313) 2025-09-23 10:46:30 -04:00
software_installers_test.go Add new datastore method, validate when setting manual agent install (#32815) 2025-09-18 13:03:51 -04:00
software_title_icons.go Add custom software icons (#32652) 2025-09-05 17:31:03 -05:00
teams.go Feature branch for Android config profiles (#32976) 2025-09-22 11:29:57 -04:00
teams_test.go Add new datastore method, validate when setting manual agent install (#32815) 2025-09-18 13:03:51 -04:00
testing_utils.go Add backend support for Smallstep CA (#32872) 2025-09-25 10:03:36 -05:00
users.go Make sure SAML requests always ask for email format NameID (#31008) 2025-07-17 14:25:33 -04:00
users_test.go Allow setting user roles during JIT provisioning (#10193) 2023-03-01 20:18:40 -03:00
vpp.go Allow setting software icons via GitOps (#32886) 2025-09-26 15:59:48 -05:00
vulnerabilities.go Updated /api/v1/fleet/vulnerabilities/{cve} endpoint (#21463) 2024-08-21 12:52:28 -05:00