fleet/server/service
Lucas Manuel Rodriguez 8d664bd456
Make software batch endpoint asynchronous (#22258)
#22069

API changes: https://github.com/fleetdm/fleet/pull/22259

QAd by applying 10 pieces of software on a team, which took 3+ minutes
in total (which, before these changes was timing out at 100s.)

With this approach, a GitOps CI run timing out might leave the
background process running (which will eventually be applied to the
database). The team discussed and agreed that we can fix this edge case
later.

- [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/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)
- [X] Added/updated tests
- [X] Manual QA for all new/changed functionality
2024-09-20 11:55:47 -03:00
..
async 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
calendar Calendar event body is kept up to date (#20316) 2024-07-29 12:04:40 +02:00
externalsvc remove unused logic specific to DEP+Okta+ROP (#11261) 2023-04-21 14:57:52 -03:00
middleware Remove ineffective rate limit to /api/fleet/device/ping and api/fleet/orbit/ping endpoints (#16334) 2024-01-25 15:05:52 -03:00
mock Move nanomdm dependency in monorepo (#16015) 2024-01-11 23:28:48 -03:00
osquery_utils Minio vulnerability false positives (#21644) 2024-08-29 11:06:47 -06:00
redis_key_value Make software batch endpoint asynchronous (#22258) 2024-09-20 11:55:47 -03:00
redis_lock Downloading a software installer package now shows the browser's built-in progress bar (#21341) 2024-08-20 12:37:29 -05:00
redis_policy_set Migrate team-related endpoints to new pattern (#3740) 2022-01-19 10:52:14 -05:00
schedule Uninstall migration cron job (#22036) 2024-09-12 20:07:56 -05:00
testdata Backend for policy automation to install software (#21650) 2024-08-30 14:13:25 -03:00
activities.go Backend for policy automation to install software (#21650) 2024-08-30 14:13:25 -03:00
activities_test.go Activity feed webhooks backend (#19261) 2024-05-24 11:25:27 -05:00
appconfig.go Add clearer error for VPP token constraint failure (#21967) 2024-09-11 14:11:28 -04:00
appconfig_test.go MABM: fix non-integrations skipped tests part 2 (#21805) 2024-09-04 15:17:32 -04:00
apple_mdm.go fix: stop profiles that never reached the host from showing up as failed (#22186) 2024-09-19 11:31:46 -04:00
apple_mdm_test.go add new changes for BYOD and fix issues (#22079) 2024-09-13 14:53:05 -03:00
base_client.go Fixes to fleetctl debug connection and TLS certs documentation (#20166) 2024-07-09 14:04:23 -03:00
base_client_errors.go Finalize MDM commands part 2: implement fleetctl mdm run-command (#10866) 2023-04-03 14:25:49 -04:00
base_client_test.go prevent baseClient from trying to decode 204 responses (#16060) 2024-01-11 17:55:35 -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 Fix calendar duplicated events and other issues (#20443) 2024-07-24 13:40:33 +02:00
campaigns.go fleetctl, API, copy updates around host identifiers (#20220) 2024-07-09 10:25:01 -07:00
campaigns_test.go fleetctl, API, copy updates around host identifiers (#20220) 2024-07-09 10:25:01 -07:00
carves.go Update carve request block id mismatch error code from 500 –> 400 (#17974) 2024-04-04 09:38:10 -07:00
carves_test.go Update carve request block id mismatch error code from 500 –> 400 (#17974) 2024-04-04 09:38:10 -07:00
client.go Fixes for no-team.yml GitOps (#22210) 2024-09-18 14:16:59 -03: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 Introduce API version 2022-04, deprecate use of /global in paths (#4731) 2022-04-05 11:35:53 -04: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 Introduce API version 2022-04, deprecate use of /global in paths (#4731) 2022-04-05 11:35:53 -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 Get MDM Command Filters (#20154) 2024-07-09 11:06:06 -06:00
client_mdm_test.go fix fleetctl to set different CmdUID for Windows (#14895) 2023-11-02 15:06:37 -03:00
client_packs.go Add fleetctl upgrade-packs command to migrate 2017 packs to queries (#13078) 2023-08-08 08:21:57 -04:00
client_policies.go Fixes for no-team.yml GitOps (#22210) 2024-09-18 14:16:59 -03:00
client_profiles.go Unify profiles database identifier to profile_uuid for macOS and Windows profiles. (#15297) 2023-12-04 10:04:06 -05:00
client_queries.go fleetctl gitops (#16535) 2024-02-09 13:34:57 -06:00
client_scripts.go Part 2 of 2: Script Timeout Agent Options (#20356) 2024-07-11 15:03:36 -06:00
client_sessions.go Introduce API version 2022-04, deprecate use of /global in paths (#4731) 2022-04-05 11:35:53 -04:00
client_setup.go fleetctl preview to use v1 setup path, to support previous versions of fleet (#5331) 2022-04-25 10:02:21 -03:00
client_software.go Make software batch endpoint asynchronous (#22258) 2024-09-20 11:55:47 -03:00
client_targets.go Add display_name to more results (#8204) 2022-10-14 11:14:18 -03:00
client_teams.go Make software batch endpoint asynchronous (#22258) 2024-09-20 11:55:47 -03:00
client_test.go Improve error messages for parsing MDM config profiles via fleetctl (#19495) 2024-06-14 12:48:00 -05:00
client_trigger.go Add fleetctl trigger command (#8877) 2022-12-06 09:56:54 -06:00
client_users.go Return token when creating API-only users (#19525) 2024-06-13 19:10:27 -03:00
cron_schedules.go Implement schedule triggers (#8747) 2022-11-28 13:28:06 -06:00
cron_schedules_test.go Add instanceID to schedule logging (#10413) 2023-03-13 15:37:03 -03:00
debug_handler.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
debug_handler_test.go Add fleetctl debug migrations command to get missing migrations (#2967) 2021-11-22 14:06:12 -03:00
device_client.go Dont send 500 for every call to /debug/errors endpoint (#19827) 2024-06-21 13:12:06 +01:00
device_client_test.go 7766 backmerge main (#14324) 2023-10-05 11:39:48 -06:00
devices.go add new changes for BYOD and fix issues (#22079) 2024-09-13 14:53:05 -03:00
devices_test.go Hide "Self-service" in Fleet Desktop and My device page (#20047) 2024-07-02 11:32:49 -05:00
endpoint_campaigns.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
endpoint_middleware.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
endpoint_middleware_test.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
endpoint_setup.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
endpoint_utils.go MABM: fix non-integrations skipped tests part 2 (#21805) 2024-09-04 15:17:32 -04:00
endpoint_utils_test.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
frontend.go add ability for end users to enrol their device into fleet mdm (#21751) 2024-09-05 12:47:34 +01:00
frontend_test.go fix back-end test for UI OTA template (#21975) 2024-09-11 10:16:37 -03: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 Add policies for "No team" (#21972) 2024-09-12 14:23:25 -03:00
global_policies_test.go Activity feed webhooks backend (#19261) 2024-05-24 11:25:27 -05:00
global_schedule.go 17745 queries backend (#18582) 2024-05-07 15:43:10 -04:00
global_schedule_test.go Activity feed webhooks backend (#19261) 2024-05-24 11:25:27 -05:00
handler.go Make software batch endpoint asynchronous (#22258) 2024-09-20 11:55:47 -03:00
handler_test.go MABM: fix non-integrations skipped tests part 2 (#21805) 2024-09-04 15:17:32 -04:00
hosts.go Profiles batch activity (#21604) 2024-08-30 16:00:35 -05:00
hosts_test.go implement OTA enrollment (#21942) 2024-09-10 16:52:17 -03:00
http_auth.go Remove unused request-id in context (#3632) 2022-01-13 14:12:56 -08:00
http_auth_test.go Activity feed webhooks backend (#19261) 2024-05-24 11:25:27 -05:00
http_publicip.go Log all successful logins as activity and all attempts with ip in stderr. (#9095) 2022-12-21 18:29:51 +01:00
installer.go Add UUID to Fleet errors and clean up error msgs (#10411) 2023-03-13 13:44:06 -03:00
installer_test.go Add UUID to Fleet errors and clean up error msgs (#10411) 2023-03-13 13:44:06 -03:00
integration_core_test.go Backend for policy automation to install software (#21650) 2024-08-30 14:13:25 -03:00
integration_desktop_test.go Dont send 500 for every call to /debug/errors endpoint (#19827) 2024-06-21 13:12:06 +01: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 Make software batch endpoint asynchronous (#22258) 2024-09-20 11:55:47 -03:00
integration_live_queries_test.go Moving Go integration tests to integration test job (#21126) 2024-08-07 14:00:25 +02:00
integration_logger_test.go Moving Go integration tests to integration test job (#21126) 2024-08-07 14:00:25 +02:00
integration_mdm_ddm_test.go CP Exclude Labels: API changes (#19846) 2024-06-25 15:26:28 -04:00
integration_mdm_dep_test.go feat: validate profile with apple (#21862) 2024-09-10 18:44:58 -04:00
integration_mdm_lifecycle_test.go implement OTA enrollment (#21942) 2024-09-10 16:52:17 -03:00
integration_mdm_profiles_test.go fix: stop profiles that never reached the host from showing up as failed (#22186) 2024-09-19 11:31:46 -04:00
integration_mdm_test.go fix: stop profiles that never reached the host from showing up as failed (#22186) 2024-09-19 11:31:46 -04:00
integration_sandbox_test.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
integration_smtp_test.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
integration_sso_test.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
invites.go Do not return empty SSO and SMTP settings for non-global-admins (#12180) 2023-06-07 16:06:36 -03:00
invites_test.go Add UUID to Fleet errors and clean up error msgs (#10411) 2023-03-13 13:44:06 -03:00
jitter.go Migrate special-case endpoints to new pattern (#4511) 2022-03-08 11:27:38 -05:00
jitter_test.go Migrate special-case endpoints to new pattern (#4511) 2022-03-08 11:27:38 -05:00
labels.go Update label name in configuration profile (#21246) 2024-08-13 13:57:32 +02:00
labels_test.go Bugfix: only count hosts that user has permission to see in count field of label endpoints (#18859) 2024-05-21 12:02:08 -04:00
live_queries.go Moving context.WithoutCancel outside defer. (#17260) 2024-02-29 13:39:27 -03:00
mail_test.go 14729 smtp settings validation for TLS (#15029) 2023-11-21 11:48:21 -07:00
mdm.go fix: add missing check for invalid email (#22057) 2024-09-13 08:41:52 -04:00
mdm_scep.go 19016 ingest certs on start (#19360) 2024-05-30 18:18:42 -03:00
mdm_test.go MABM: fix non-integrations skipped tests part 2 (#21805) 2024-09-04 15:17:32 -04:00
mem_failing_policies_set_test.go Fix failing policy sets for redis cluster mode (#3725) 2022-01-17 15:16:54 -05:00
metrics.go Issue 1362 fleetctl user roles (#1397) 2021-07-16 15:28:13 -03:00
metrics_appconfig.go Fix SMTP e-mail send when SMTP server has credentials (#10758) 2023-03-28 15:23:15 -03:00
metrics_change_email.go
metrics_invites.go
metrics_labels.go add ability to create manual labels (#18303) 2024-04-16 17:22:08 +01:00
metrics_sessions.go add back-end implementation for SSO JIT provisioning (#7182) 2022-08-15 14:42:33 -03:00
metrics_users.go
microsoft_mdm.go use the latest fleetd-base version for MDM commands (#20078) 2024-06-28 16:35:07 -03:00
microsoft_mdm_test.go fix: process Add commands in Windows MDM profiles (#17570) 2024-03-12 15:21:17 -04:00
orbit.go Added activity -- core implementation done. 2024-09-06 09:49:36 -05:00
orbit_client.go Added software install capability to agent. (#21196) 2024-08-21 09:08:16 -05: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 Host mdminfo remover (#19885) 2024-06-28 11:09:22 -04:00
osquery.go Ubuntu Python Package Filtering (#21989) 2024-09-16 10:01:21 -06:00
osquery_test.go Ubuntu Python Package Filtering (#21989) 2024-09-16 10:01:21 -06:00
packs.go Activity feed webhooks backend (#19261) 2024-05-24 11:25:27 -05:00
packs_test.go Activity feed webhooks backend (#19261) 2024-05-24 11:25:27 -05:00
queries.go Added server_settings.query_report_cap (#19692) 2024-06-14 12:24:01 -03:00
queries_test.go Added server_settings.query_report_cap (#19692) 2024-06-14 12:24:01 -03:00
scheduled_queries.go Combine Schedules and Queries: API changes (#12778) 2023-07-24 20:17:20 -04:00
scheduled_queries_test.go Combine Schedules and Queries: API changes (#12778) 2023-07-24 20:17:20 -04:00
scripts.go Added created_at to fleet/scripts/results and switched to enum for install status. (#22019) 2024-09-11 15:56:49 -05:00
scripts_test.go Hotfix - Correct Async Run Script Validation Test (#20405) 2024-07-12 09:55:12 -06:00
service.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
service_appconfig.go Do not return empty SSO and SMTP settings for non-global-admins (#12180) 2023-06-07 16:06:36 -03:00
service_appconfig_test.go fleetctl gitops --dry-run now errors on duplicate (or conflicting) global/team enroll secrets. (#19344) 2024-05-31 07:01:13 -05:00
service_campaign_test.go Improvements to go tests in CI (#21545) 2024-08-26 08:55:53 -05:00
service_campaigns.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
service_errors.go Add UUID to Fleet errors and clean up error msgs (#10411) 2023-03-13 13:44:06 -03:00
service_users.go Activity feed webhooks backend (#19261) 2024-05-24 11:25:27 -05:00
sessions.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
sessions_test.go Activity feed webhooks backend (#19261) 2024-05-24 11:25:27 -05:00
software.go Bugfix: add filter to counts (#21411) 2024-08-19 16:55:59 -06:00
software_installers.go Make software batch endpoint asynchronous (#22258) 2024-09-20 11:55:47 -03:00
software_installers_test.go feat: enable multiple ABM and VPP tokens (#21693) 2024-08-29 18:51:46 -04:00
software_test.go Fixing tests. (#17073) 2024-02-22 16:03:13 -06:00
software_titles.go Add Software Vulnerability Filters (#21312) 2024-08-15 12:36:47 -06:00
software_titles_test.go fix: add missing software_package field (#18998) 2024-05-15 13:41:35 -04:00
status.go feat: send back forbidden when live queries are disabled (#14804) 2023-10-31 08:58:36 -04:00
targets.go Set interface for response types (#9121) 2022-12-27 11:26:59 -03:00
targets_test.go Refactor license so it is stored in the context (#8544) 2022-11-15 09:08:05 -05:00
team_policies.go Clear policy results and stats when setting or changing an installer (#22053) 2024-09-12 16:56:12 -03:00
team_policies_test.go Backend for policy automation to install software (#21650) 2024-08-30 14:13:25 -03:00
team_schedule.go 17745 queries backend (#18582) 2024-05-07 15:43:10 -04:00
team_schedule_test.go Activity feed webhooks backend (#19261) 2024-05-24 11:25:27 -05:00
teams.go fix: prevent creating teams with reserved team names (#21727) 2024-09-05 17:44:09 -04:00
teams_test.go Profiles batch activity (#21604) 2024-08-30 16:00:35 -05:00
testing_client.go Use global_or_team_id instead of team_id so ID 0 (no team) is valid (#21880) 2024-09-06 15:36:41 -03:00
testing_utils.go Make software batch endpoint asynchronous (#22258) 2024-09-20 11:55:47 -03:00
translator.go BadRequest when no payloads present; BadRequest for invalid payload types (#18169) 2024-04-10 10:55:38 -07:00
transport.go 20404: Edit packages feature (#21812) 2024-09-17 08:40:47 -05:00
transport_error.go Merge branch 'main' into 15919-vulnerabilities-page 2024-02-22 16:27:15 -06:00
transport_error_test.go Add UUID to Fleet errors and clean up error msgs (#10411) 2023-03-13 13:44:06 -03:00
transport_setup.go
transport_test.go disable_issues and host issues support for other API endpoints (#19802) 2024-06-18 14:13:38 -05:00
trigger.go Set interface for response types (#9121) 2022-12-27 11:26:59 -03:00
user_roles.go ensure ds.TeamByName returns a 4xx response if no team is found (#12620) 2023-07-13 11:55:05 -03:00
users.go 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
users_test.go Return token when creating API-only users (#19525) 2024-06-13 19:10:27 -03:00
validation_setup.go Use new error handling approach in other packages (#2954) 2021-11-22 09:13:26 -05:00
vpp.go Validate Premium license when uploading VPP tokens (#21720) 2024-09-03 09:39:29 -04:00
vpp_test.go MABM: fix non-integrations skipped tests part 2 (#21805) 2024-09-04 15:17:32 -04:00
vulnerabilities.go Fix matching typos (#21590) 2024-08-27 21:38:13 -04:00
vulnerabilities_test.go Updated /api/v1/fleet/vulnerabilities/{cve} endpoint (#21463) 2024-08-21 12:52:28 -05:00