fleet/server
Victor Lyuboslavsky 3df12bf32b
Improved performance when modifying config with a large number of yara rules (#32696)
Fixes #29909 

- Do not update DB if rules haven't changed
- Cache Yara rules when retrieved by hosts. This should reduce DB
accesses with large number of hosts retrieving large numbers of rules

I manually QA'd using OpenTelemetry (APM would also work) and monitoring
the DB accesses when updating or retrieving yara rules.

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

## Testing

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


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

* **Performance Improvements**
* Faster config saves when many YARA rules are present (incremental
updates, reduced work).
* Lower latency and load when many hosts fetch YARA rules (caching and
smarter retrieval).
* More efficient handling of unchanged, added, modified, and removed
YARA rules.

* **Documentation**
* Changelog entry noting YARA rules performance and fetch improvements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-08 10:24:22 -05:00
..
archtest Basic Android MDM on/off functionality (#26309) 2025-02-18 09:43:11 -06:00
authz Hydrant CA Feature Branch (#31807) 2025-09-04 12:39:41 -04:00
aws_common Feat 1817 add iam auth to mysql and redis (#32488) 2025-09-04 10:08:47 -05:00
bindata Allow users to be readded if they were ever removed (#1945) 2021-09-07 13:33:40 -03:00
config Feat 1817 add iam auth to mysql and redis (#32488) 2025-09-04 10:08:47 -05:00
contexts Allow certain licenses to disable telemetry (#29093) 2025-05-22 14:27:07 -04:00
cron Add SCEP endpoint for host identity. (#30589) 2025-07-11 11:44:07 -03:00
datastore Improved performance when modifying config with a large number of yara rules (#32696) 2025-09-08 10:24:22 -05:00
errorstore Fixed potential panic in error handler when Redis is down. (#31643) 2025-08-06 17:14:31 +02:00
fleet Improved performance when modifying config with a large number of yara rules (#32696) 2025-09-08 10:24:22 -05:00
goose Add gosimple linter (#23250) 2024-10-29 14:17:51 -05:00
health 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
launcher Add missing platform_like during orbit enrollment (#32671) 2025-09-05 16:05:19 -03:00
live_query Fix flakey livequery test (#21666) 2024-08-29 10:03:45 -06:00
logging Fix STS assume role in aws-sdk-go v2 (#30699) 2025-07-10 13:00:27 -03:00
mail Fix STS assume role in aws-sdk-go v2 (#30699) 2025-07-10 13:00:27 -03:00
mdm Add custom software icons (#32652) 2025-09-05 17:31:03 -05:00
mock Add custom software icons (#32652) 2025-09-05 17:31:03 -05:00
policies Added Primo migration for failing policies automation. (#32515) 2025-09-04 10:12:27 -05:00
ptr Added better handling of timeout and insufficient permissions errors in NDES SCEP proxy. (#23654) 2024-11-11 14:57:28 -06:00
pubsub Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
service create public endpoint for batch modify mdm config profiles (#32578) 2025-09-08 14:52:30 +01:00
shellquote Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
sso Make sure SAML requests always ask for email format NameID (#31008) 2025-07-17 14:25:33 -04:00
test Updated SQL modes in tests to match production. (#31445) 2025-08-03 08:18:13 +02:00
variables Added verification support for $FLEET_VAR_HOST_UUID (#31777) 2025-08-11 14:47:55 +02:00
version Move external dependency fleetdm/kolide-kit to monorepo (#15861) 2024-01-02 18:22:52 -03:00
vulnerabilities Bugfix: Mac Office Vuln Parser (#32545) 2025-09-03 12:33:02 -04:00
webhooks Added Primo migration for failing policies automation. (#32515) 2025-09-04 10:12:27 -05:00
websocket Enable errcheck linter for golangci-lint (#8899) 2022-12-05 16:50:49 -06:00
worker Add "No Team" integration configurations for Jira and Zendesk (#32387) 2025-09-02 18:02:34 -05:00
utils.go Fix CleanupExpiredHosts to prevent deletion of DEP-assigned hosts (#28313) 2025-04-18 12:49:03 -05:00
utils_test.go feature: target profiles by labels (#16202) 2024-01-26 11:00:58 -05:00