fleet/server/service
Victor Lyuboslavsky 61f635dd44
Activity bounded context: Complete read operations (#38555)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38534

moved `/api/_version_/fleet/hosts/{id:[0-9]+}/activities` endpoint and
`MarkActivitiesAsStreamed` to activity bounded context

# Checklist for submitter

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

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

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

## Summary by CodeRabbit

* **New Features**
* Added new endpoint to retrieve host-specific past activities with
pagination metadata.
  
* **Refactor**
* Refactored activity service architecture and authorization layer to
improve data provider integration and activity streaming capabilities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-09 15:29:12 -06:00
..
async OpenTelemetry minor improvements (#32324) 2025-08-28 19:32:46 -05:00
calendar Update Google Calendar event bodies and relevant previews in the Fleet UI (#28715) 2025-05-01 13:12:53 -07:00
conditional_access_microsoft_proxy Microsoft Compliance Partner backend changes (#29540) 2025-06-11 14:22:46 -03:00
contract Add missing platform_like during orbit enrollment (#32671) 2025-09-05 16:05:19 -03:00
externalsvc
integrationtest Add support for fully-managed android devices (#39388) 2026-02-06 10:46:25 -05:00
middleware Added OTEL log export support (#39279) 2026-02-06 18:57:28 -06:00
mock Add missing platform_like during orbit enrollment (#32671) 2025-09-05 16:05:19 -03:00
modules/activities Activity bounded context: /api/latest/fleet/activities (2 of 2) (#38478) 2026-01-23 07:42:09 -06:00
osquery_utils False negative vulnerability for Adobe Acrobat Reader DC (#39131) 2026-02-05 07:20:16 -04:00
redis_key_value Make software batch endpoint asynchronous (#22258) 2024-09-20 11:55:47 -03:00
redis_lock Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
redis_policy_set Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
schedule Flaky test fix: return whether or not the schedule was triggered and retry if needed (#38836) 2026-01-27 11:12:40 -05:00
testdata Renew test certs (#38395) 2026-01-15 12:18:19 -07:00
activities.go Activity bounded context: Complete read operations (#38555) 2026-02-09 15:29:12 -06:00
activities_test.go Activity bounded context: /api/latest/fleet/activities (1 of 2) (#38115) 2026-01-19 09:07:14 -05:00
appconfig.go Add activity for modified enroll secrets (#39292) 2026-02-07 09:21:10 -04:00
appconfig_test.go Add entra tenant IDs migration (#39420) 2026-02-09 12:48:19 -05:00
apple_mdm.go add additional logging for SCEP proxy and SCEP profiles (#39501) 2026-02-09 14:46:30 -05:00
apple_mdm_cmd_results.go Bugfix: apply a special-case for Xcode VPP app verification (#38539) 2026-01-21 17:16:13 -05:00
apple_mdm_ddm_test.go Updated SQL modes in tests to match production. (#31445) 2025-08-03 08:18:13 +02:00
apple_mdm_test.go Add conditional access already bypassed check (#39037) 2026-02-02 10:35:55 -05:00
base_client.go End-user authentication for Window/Linux setup experience: agent (#34847) 2025-11-03 16:41:57 -06:00
base_client_errors.go End-user authentication for Window/Linux setup experience: agent (#34847) 2025-11-03 16:41:57 -06:00
base_client_errors_test.go Improved orbit debug logs when response contains a large HTML page. (#33195) 2025-09-19 17:00:19 -05:00
base_client_test.go TPM osquery-perf support (#30994) 2025-07-18 10:19:05 -03:00
build_tags_test.go Return 405 when receiving POST request on the route path (#16750) 2024-02-14 12:40:43 -03:00
calendar.go Moved common endpointer packages to platform dir. (#37780) 2026-01-06 14:23:07 -06:00
campaigns.go API + auth + UI changes for team labels (#37208) 2025-12-29 21:28:45 -06:00
campaigns_test.go Improve performance when recording schedule query results (#38524) 2026-01-27 10:33:47 -06:00
carves.go Authenticate carve block endpoint before parsing the "data" field (#39353) 2026-02-05 15:55:03 -03:00
carves_test.go Authenticate carve block endpoint before parsing the "data" field (#39353) 2026-02-05 15:55:03 -03:00
certificate_authorities.go HCA: fix generate GitOps missing todo comment and include secrets parsing (#32640) 2025-09-05 16:35:21 +03:00
certificate_authorities_test.go Add backend support for Smallstep CA (#32872) 2025-09-25 10:03:36 -05:00
certificate_templates.go Android certificate crud: validate variable replacement (#36648) 2025-12-05 12:14:14 -06:00
certificate_templates_test.go Added validation for empty certificate subject name. (#38114) 2026-01-09 13:45:35 -06:00
certificates.go Fixed Android certificate enrollment failures caused by SCEP challenge expiration when devices were offline. (#38753) 2026-01-28 10:33:37 -06:00
client.go Only default update_new_hosts key if not explicitly set (#39202) 2026-02-03 12:41:52 -05:00
client_android_certificates.go Added subject name to certificate template list endpoint response (#37028) 2025-12-11 05:38:59 -06:00
client_appconfig.go fleetctl gitops --dry-run now errors on duplicate (or conflicting) global/team enroll secrets. (#19344) 2024-05-31 07:01:13 -05:00
client_carves.go
client_certificate_authorities.go gitops, basic apis, and table for android certificate templates (#35788) 2025-11-24 15:44:06 -06:00
client_debug.go Merge conflicts 2024-04-16 10:20:59 -05:00
client_hosts.go 17257 validate bulk ops request filters (#17514) 2024-03-11 10:02:51 -06:00
client_labels.go gitops changes for team labels (#37801) 2026-01-06 17:47:30 -04:00
client_live_query.go fleetctl, API, copy updates around host identifiers (#20220) 2024-07-09 10:25:01 -07:00
client_live_query_test.go fleetctl, API, copy updates around host identifiers (#20220) 2024-07-09 10:25:01 -07:00
client_mdm.go Support command status for commands and host for results in fleetctl (#37133) 2025-12-12 19:26:07 -04:00
client_mdm_test.go
client_packs.go
client_policies.go Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
client_profiles.go Fix macos_setup not always being exported correctly by generate-gitops (#30504) 2025-07-02 09:07:58 -03:00
client_queries.go Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
client_scripts.go Remove PUT endpoint, update to always use POST for setup experience scripts (#35818) 2025-11-17 11:29:23 -05:00
client_secret_variables.go Add backend APIs for adding, deleting and listing secret variables (#31936) 2025-08-14 19:33:47 -03:00
client_sessions.go Added scim/details endpoint (#28007) 2025-04-10 14:08:45 -05:00
client_setup.go
client_software.go Use custom icons in GitOps for Fleet Maintained Apps (#38497) 2026-01-20 11:56:40 -05:00
client_targets.go
client_teams.go Allow setting software icons via GitOps (#32886) 2025-09-26 15:59:48 -05:00
client_test.go gitops changes for team labels (#37801) 2026-01-06 17:47:30 -04:00
client_trigger.go
client_users.go Return token when creating API-only users (#19525) 2024-06-13 19:10:27 -03:00
conditional_access_idp.go Only allow FLEET_DEV_* env vars when --dev is passed, allow overriding configs one at a time in dev (#38652) 2026-01-27 14:32:56 -06:00
conditional_access_idp_test.go Okta IdP Apple profile endpoint + fixes (#35526) 2025-11-14 13:49:08 -06:00
conditional_access_microsoft.go Unfinished Entra integration setup breaks UI (#38847) 2026-02-02 15:29:04 -04:00
cron_schedules.go
cron_schedules_test.go
debug_handler.go Revise auth requirements for debug endpoints (#38173) 2026-01-12 10:37:06 -06:00
debug_handler_test.go Revise auth requirements for debug endpoints (#38173) 2026-01-12 10:37:06 -06:00
device_client.go Ability to set fleet desktop alternative browser host in org settings (#38409) 2026-01-19 16:25:22 -04:00
device_client_test.go Ability to set fleet desktop alternative browser host in org settings (#38409) 2026-01-19 16:25:22 -04:00
devices.go Request body limits (#39080) 2026-02-05 10:29:53 -05:00
devices_endpoint_test.go Add conditional access already bypassed check (#39037) 2026-02-02 10:35:55 -05:00
devices_test.go Update server-proto version to 9, implement THROTTLED w/ 24h cooldown (#38920) 2026-01-29 15:31:28 -05:00
devices_url_auth_test.go Add new self-service auth method for iOS/iPadOS (#36659) 2025-12-05 10:16:46 -05:00
endpoint_campaigns.go Refactoring service layer. Part 1 (#25945) 2025-02-03 11:23:26 -06:00
endpoint_middleware.go Fix debug log lines (#37831) 2026-01-05 10:32:14 -03:00
endpoint_middleware_test.go Refactor endpoint_utils for modularization (#36484) 2025-12-31 09:12:00 -06:00
endpoint_setup.go Improved error message when trying to apply CAs via gitops without a premium license (#37981) 2026-01-08 11:07:38 +00:00
endpoint_setup_test.go Remove obsolete assertions to fix failing tests (#39249) 2026-02-03 13:01:49 -05:00
endpoint_utils.go Request body limits (#39080) 2026-02-05 10:29:53 -05:00
endpoint_utils_test.go Request body limits (#39080) 2026-02-05 10:29:53 -05:00
frontend.go Moved common endpointer packages to platform dir. (#37780) 2026-01-06 14:23:07 -06:00
frontend_test.go IdP Authentication before BYOD (#32017) 2025-08-18 18:31:53 +02:00
full_test.go Return 405 when receiving POST request on the route path (#16750) 2024-02-14 12:40:43 -03:00
global_policies.go API + auth + UI changes for team labels (#37208) 2025-12-29 21:28:45 -06:00
global_policies_test.go API + auth + UI changes for team labels (#37208) 2025-12-29 21:28:45 -06:00
global_schedule.go Show Manage Automations disabled button with tooltip on Queries page (#39302) 2026-02-09 15:16:28 -03:00
global_schedule_test.go Show Manage Automations disabled button with tooltip on Queries page (#39302) 2026-02-09 15:16:28 -03:00
handler.go Activity bounded context: Complete read operations (#38555) 2026-02-09 15:29:12 -06:00
handler_test.go Authenticate carve block endpoint before parsing the "data" field (#39353) 2026-02-05 15:55:03 -03:00
hosts.go Request body limits (#39080) 2026-02-05 10:29:53 -05:00
hosts_test.go Add error message for decryption failures (#38919) 2026-02-03 17:08:44 -05:00
http_auth_test.go Added scim/details endpoint (#28007) 2025-04-10 14:08:45 -05:00
integration_android_certificate_templates_test.go Add support for fully-managed android devices (#39388) 2026-02-06 10:46:25 -05:00
integration_android_software_test.go IPA: validate conflicts with other installers, return proper error (#38005) 2026-01-13 10:30:03 -05:00
integration_certificate_authorities_test.go Added changes and test to contributor's fix. (#39390) 2026-02-05 13:13:08 -06:00
integration_core_test.go Show Manage Automations disabled button with tooltip on Policies page (#39392) 2026-02-09 15:41:31 -03:00
integration_desktop_test.go Request body limits (#39080) 2026-02-05 10:29:53 -05:00
integration_ds_only_test.go Moving Go integration tests to integration test job (#21126) 2024-08-07 14:00:25 +02:00
integration_enterprise_test.go Show Manage Automations disabled button with tooltip on Policies page (#39392) 2026-02-09 15:41:31 -03:00
integration_enterprise_vulns_test.go os_versions endpoint performance improvements (#34897) 2025-11-03 13:07:44 -06:00
integration_install_test.go Add support for .sh scripts on macOS (#39479) 2026-02-09 15:24:37 -05:00
integration_live_queries_test.go Updated SQL modes in tests to match production. (#31445) 2025-08-03 08:18:13 +02:00
integration_logger_test.go Improved OpenTelemetry error handling (#38757) 2026-01-26 17:07:32 -06:00
integration_mdm_commands_test.go only refetch location data if iDevice is locked (#39241) 2026-02-04 09:23:44 -05:00
integration_mdm_ddm_test.go allow removal of config profiles when MDM is off (#37473) 2025-12-18 17:14:32 -04:00
integration_mdm_dep_test.go Update server-proto version to 9, implement THROTTLED w/ 24h cooldown (#38920) 2026-01-29 15:31:28 -05:00
integration_mdm_lifecycle_test.go Capture MDM enroll reference for iOS and IPadOS devices (#39020) 2026-01-30 13:38:01 -06:00
integration_mdm_profiles_test.go Put Android profiles in pending immediately on upload (#39330) 2026-02-04 14:18:06 -05:00
integration_mdm_release_worker_test.go Wait for expected profiles to be sent before releasing device (#31381) 2025-07-31 17:50:57 +02:00
integration_mdm_setup_experience_test.go Add support for fully-managed android devices (#39388) 2026-02-06 10:46:25 -05:00
integration_mdm_test.go 38543 disk encryption miscount (#39497) 2026-02-06 14:45:58 -05:00
integration_smtp_test.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
integration_software_titles_test.go Fleet UI: Allow users from other teams to see software title name (#32277) 2026-01-26 18:11:59 -05:00
integration_sso_test.go Activity bounded context: /api/latest/fleet/activities (1 of 2) (#38115) 2026-01-19 09:07:14 -05:00
integration_vpp_install_test.go Add support for iPods under iOS devices (#27432) 2026-01-29 13:54:37 -05:00
invites.go Migrate from aws-sdk-go v1 to v2 (#30308) 2025-06-30 17:45:39 -03:00
invites_test.go Allow opting in users to email verification on login (#24273) 2024-12-05 08:37:10 -06:00
jitter.go Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
jitter_test.go Update to Go 1.24.1 (#27506) 2025-03-31 11:14:09 -05:00
labels.go improve missing label error message (#38636) 2026-01-26 12:55:26 -05:00
labels_test.go Moved common_mysql package to server/platform/mysql (#38017) 2026-01-08 13:17:19 -06:00
labels_util.go Address backend review feedback from #37208 (#37742) 2025-12-30 08:48:55 -03:00
linux_mdm.go Implement BitLocker "action required" status (#31451) 2025-08-05 11:23:27 -05:00
linux_mdm_test.go Update GET /hosts/:id/encryption_key to return archived key when current key is unavailable (#30396) 2025-07-02 14:57:25 -05:00
live_queries.go service.errorer to fleet.Errorer (#26362) 2025-02-14 16:19:34 -06:00
mail_test.go Allow opting in users to email verification on login (#24273) 2024-12-05 08:37:10 -06:00
maintained_apps.go Fix FMAs on Render (#37557) 2025-12-23 13:01:32 -05:00
mdm.go Request body limits (#39080) 2026-02-05 10:29:53 -05:00
mdm_profiles.go ARCW: Add Renewal ID verification and support in windows profiles (#37179) 2025-12-12 13:14:59 -04:00
mdm_profiles_test.go ARCW: Add Renewal ID verification and support in windows profiles (#37179) 2025-12-12 13:14:59 -04:00
mdm_scep.go Updating scep package with latest fixes (#22372) 2024-09-27 07:04:11 -05:00
mdm_test.go Put Android profiles in pending immediately on upload (#39330) 2026-02-04 14:18:06 -05:00
mem_failing_policies_set_test.go
metrics.go
metrics_appconfig.go
metrics_change_email.go
metrics_invites.go
metrics_labels.go API + auth + UI changes for team labels (#37208) 2025-12-29 21:28:45 -06:00
metrics_sessions.go Replace home-made SAML implementation with https://github.com/crewjam/saml (#28486) 2025-07-07 15:13:46 -03:00
metrics_users.go
microsoft_mdm.go Windows MDM app level impl (#38842) 2026-01-28 09:46:53 -05:00
microsoft_mdm_test.go Windows MDM app level impl (#38842) 2026-01-28 09:46:53 -05:00
orbit.go Limited disk encryption key escrowing when setting enabled (#39047) 2026-02-02 10:50:30 -06:00
orbit_client.go End-user authentication for Window/Linux setup experience: agent (#34847) 2025-11-03 16:41:57 -06:00
orbit_client_test.go Perform early restart before starting sub-systems and minor refactor of orbit sub-systems (#20610) 2024-07-19 12:44:43 -03:00
orbit_test.go Limited disk encryption key escrowing when setting enabled (#39047) 2026-02-02 10:50:30 -06:00
osquery.go Improve performance when recording schedule query results (#38524) 2026-01-27 10:33:47 -06:00
osquery_test.go Show Manage Automations disabled button with tooltip on Queries page (#39302) 2026-02-09 15:16:28 -03:00
packs.go service.errorer to fleet.Errorer (#26362) 2025-02-14 16:19:34 -06:00
packs_test.go Activity feed webhooks backend (#19261) 2024-05-24 11:25:27 -05:00
queries.go Show Manage Automations disabled button with tooltip on Queries page (#39302) 2026-02-09 15:16:28 -03:00
queries_test.go Show Manage Automations disabled button with tooltip on Queries page (#39302) 2026-02-09 15:16:28 -03:00
scheduled_queries.go service.errorer to fleet.Errorer (#26362) 2025-02-14 16:19:34 -06:00
scheduled_queries_test.go
scim.go Added scim/details endpoint (#28007) 2025-04-10 14:08:45 -05:00
scripts.go Request body limits (#39080) 2026-02-05 10:29:53 -05:00
scripts_encoding.go Fix FMAs on Render (#37557) 2025-12-23 13:01:32 -05:00
scripts_encoding_test.go Fix FMAs on Render (#37557) 2025-12-23 13:01:32 -05:00
scripts_test.go Regen mocks and use the new func names (#35655) 2025-11-12 17:01:16 -05:00
secret_variables.go Prevent IT admins from deleting a secret variable in use (#32161) 2025-08-22 11:22:37 -03:00
secret_variables_test.go Add backend APIs for adding, deleting and listing secret variables (#31936) 2025-08-14 19:33:47 -03:00
service.go Use same MDM unenroll endpoint for Android and Apple (#37363) 2025-12-18 15:59:46 -04:00
service_appconfig.go Add support for publishing logs to NATS. (#36527) 2026-01-06 09:10:32 -03:00
service_appconfig_test.go Add activity for modified enroll secrets (#39292) 2026-02-07 09:21:10 -04:00
service_campaign_test.go Improvements to go tests in CI (#21545) 2024-08-26 08:55:53 -05:00
service_campaigns.go Full-stack: Granular host count data for live queries/policies (#27258) 2025-03-19 09:53:55 -07:00
service_errors.go gitops, basic apis, and table for android certificate templates (#35788) 2025-11-24 15:44:06 -06:00
service_users.go Refactor endpoint_utils for modularization (#36484) 2025-12-31 09:12:00 -06:00
sessions.go Moved common endpointer packages to platform dir. (#37780) 2026-01-06 14:23:07 -06:00
sessions_test.go Regen mocks and use the new func names (#35655) 2025-11-12 17:01:16 -05:00
setup_experience.go Request body limits (#39080) 2026-02-05 10:29:53 -05:00
setup_experience_test.go Use lighter Team call when it's obviously safe to do so, comment potential areas for further improvement (#35587) 2025-11-17 17:25:45 -06:00
software.go Fleet UI: Allow users from other teams to see software title name (#32277) 2026-01-26 18:11:59 -05:00
software_installers.go Request body limits (#39080) 2026-02-05 10:29:53 -05:00
software_installers_test.go improve missing label error message (#38636) 2026-01-26 12:55:26 -05:00
software_test.go Fixing tests. (#17073) 2024-02-22 16:03:13 -06:00
software_title_icons.go Request body limits (#39080) 2026-02-05 10:29:53 -05:00
software_title_icons_test.go Moved common_mysql package to server/platform/mysql (#38017) 2026-01-08 13:17:19 -06:00
software_titles.go Fleet UI: Allow users from other teams to see software title name (#32277) 2026-01-26 18:11:59 -05:00
software_titles_test.go Add experimental software title name update endpoint for titles with a bundle ID (#26938) 2025-03-07 11:36:17 -06:00
status.go service.errorer to fleet.Errorer (#26362) 2025-02-14 16:19:34 -06:00
targets.go service.errorer to fleet.Errorer (#26362) 2025-02-14 16:19:34 -06:00
targets_test.go
team_policies.go Show Manage Automations disabled button with tooltip on Policies page (#39392) 2026-02-09 15:41:31 -03:00
team_policies_test.go Use lighter Team call when it's obviously safe to do so, comment potential areas for further improvement (#35587) 2025-11-17 17:25:45 -06:00
team_schedule.go Show Manage Automations disabled button with tooltip on Queries page (#39302) 2026-02-09 15:16:28 -03:00
team_schedule_test.go Show Manage Automations disabled button with tooltip on Queries page (#39302) 2026-02-09 15:16:28 -03:00
teams.go Update backend and GitOps to handle AppleOSUpdateSettings.UpdateNewHosts (#37295) 2025-12-16 14:38:28 -04:00
teams_test.go Add activity for modified enroll secrets (#39292) 2026-02-07 09:21:10 -04:00
testing_client.go Show Manage Automations disabled button with tooltip on Queries page (#39302) 2026-02-09 15:16:28 -03:00
testing_utils.go Activity bounded context: Complete read operations (#38555) 2026-02-09 15:29:12 -06:00
translator.go Moved common endpointer packages to platform dir. (#37780) 2026-01-06 14:23:07 -06:00
transport.go Change parameter name from populate_device_status to include_device_status per doc PR review (#37996) 2026-01-07 16:57:57 -05:00
transport_error.go Improved OpenTelemetry error handling (#38757) 2026-01-26 17:07:32 -06:00
transport_setup.go
transport_test.go Filter hosts by batch script execution status (#29547) 2025-06-05 18:53:14 -06:00
trigger.go service.errorer to fleet.Errorer (#26362) 2025-02-14 16:19:34 -06:00
user_roles.go service.errorer to fleet.Errorer (#26362) 2025-02-14 16:19:34 -06:00
users.go Tweaks to user invite flow (#39382) 2026-02-05 16:12:56 -04:00
users_test.go Clear reset tokens and user sessions after password change (#38999) 2026-02-03 11:14:10 -06:00
validation_setup.go Full-stack: Make "Server url" validation conditions consistent across Fleet, update Web Address form validation and submission logic per Fleet best practices (frontend/docs/patterns.md) (#27455) 2025-03-27 13:56:38 -07:00
vpp.go Request body limits (#39080) 2026-02-05 10:29:53 -05:00
vpp_test.go Regen mocks and use the new func names (#35655) 2025-11-12 17:01:16 -05:00
vulnerabilities.go service.errorer to fleet.Errorer (#26362) 2025-02-14 16:19:34 -06:00
vulnerabilities_test.go Updated /api/v1/fleet/vulnerabilities/{cve} endpoint (#21463) 2024-08-21 12:52:28 -05:00
windows_mdm_profiles.go Moved common endpointer packages to platform dir. (#37780) 2026-01-06 14:23:07 -06:00
windows_mdm_profiles_test.go Add support for $FLEET_VAR_HOST_HARDWARE_SERIAL in Windows profiles, $FLEET_VAR_HOST_PLATFORM in Windows/Apple profiles (#35812) 2025-11-24 10:18:47 -06:00