Commit graph

9 commits

Author SHA1 Message Date
Victor Lyuboslavsky
ba5f02f9ca
os_versions endpoint performance improvements (#34897)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34500 and Resolves #33758

Video demo: https://www.youtube.com/watch?v=4HZlKG0G1B0

- Added a new aggregation table
`operating_system_version_vulnerabilities` for faster queries. The table
is currently used only for Linux vulnerabilities, but could be used for
other OS vulnerabilities.
- Added `max_vulnerabilities` parameter per [API
doc](https://github.com/fleetdm/fleet/pull/33533)
- Also added `max_vulnerabilities` parameter to `os_versions/{id}`
endpoint, but not making it public since that endpoint is still slow and
needs other API changes. bug #34974
- Removed `"kernels": []` from `os_versions` endpoint result

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

- [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] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

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

## Database migrations

- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).

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

## Summary by CodeRabbit

* **New Features**
* Added ability to limit the number of vulnerabilities displayed for
operating system versions via an optional parameter.
* Introduced vulnerability count tracking for operating system versions,
now visible in API responses and UI displays.
* Enhanced operating system vulnerability visualization with improved
count-based rendering.

* **Tests**
* Added comprehensive test coverage for vulnerability limiting behavior
across multiple operating system versions and architectures.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-03 13:07:44 -06:00
RachelElysia
b784a539ec
Fleet UI: Add Linux kernel vulns card/table (#31840) 2025-08-14 09:30:49 -04:00
Jacob Shandling
4f15b24b07 more interface updates (#16644)
More interface updates per API

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-02-15 10:35:05 -07:00
Jacob Shandling
e83feec000 add missing fields, restore legacy types for proper build (#16618)
- Add missing fields to `IVulnerability`
- Fix field on `IOperatingSystemVersion`, which is used by above
interface
- Restore legacy props whose removal broke branch build (unrelated to
this work, separate API)

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-02-15 10:35:05 -07:00
RachelElysia
c4da90f7fa
Fleet UI: Update os version detail page to use os_version_id in URL and call API (#16448) 2024-01-31 13:32:45 -05:00
RachelElysia
6e7174c22f
Frontend: UI Vulnerabilities feature (#16322)
Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2024-01-25 13:03:44 -05:00
gillespi314
8157359f84
Ingest Windows host display version for hosts table (#7403) 2022-08-30 10:16:48 -05:00
gillespi314
8d4ad6ce9f
Enhanced UI for host operating systems to include additional information for Windows and macOS (#7201) 2022-08-15 16:39:00 -05:00
gillespi314
d6e900db4b
Add macOS version information to UI dashboard (#4719) 2022-04-05 15:04:00 -05:00