fleet/frontend/pages/SoftwarePage
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
..
components Capitalize "rolling" only OS version column on add support for Manjaro Linux (#33315) 2025-09-24 16:39:36 -03:00
SoftwareAddPage 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
SoftwareOS Fleet UI: Revamp host > software page with inventory/library tabs (#29759) 2025-06-20 15:02:22 -04:00
SoftwareOSDetailsPage Fleet UI: Allow software + os filter onto manage host page (#32350) 2025-08-28 09:10:29 -04:00
SoftwareTitleDetailsPage Allow setting software icons via GitOps (#32886) 2025-09-26 15:59:48 -05:00
SoftwareTitles Add custom software icons (#32652) 2025-09-05 17:31:03 -05:00
SoftwareVersionDetailsPage UI: Hide teams dropdown on software details pages in Primo mode (#30218) 2025-06-23 09:55:36 -07:00
SoftwareVulnerabilities Fleet UI: Revamp host > software page with inventory/library tabs (#29759) 2025-06-20 15:02:22 -04:00
SoftwareVulnerabilityDetailsPage Add custom software icons (#32652) 2025-09-05 17:31:03 -05:00
_styles.scss UI: Encapsulate and make consistent page descriptions (#33022) 2025-09-16 09:55:29 -07:00
helpers.tests.tsx Fleet UI: Host software followup (#30205) 2025-06-23 11:09:20 -04:00
helpers.tsx Add custom software icons (#32652) 2025-09-05 17:31:03 -05:00
index.ts Implement UI for new software pages (#15579) 2023-12-12 15:03:33 -06:00
SoftwarePage.tsx UI: Encapsulate and make consistent page descriptions (#33022) 2025-09-16 09:55:29 -07:00