fleet/server/platform
Lucas Manuel Rodriguez 24e04a41c2
Move script request and response types from server/service to server/fleet (#43868)
For #36087

## Testing

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

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added script execution API supporting asynchronous and synchronous
operations with timeout handling.
* Introduced batch script execution capabilities including batch run
creation, status querying, and execution cancellation.
* Added host management API endpoints for locking, unlocking, and wiping
devices.
* Enhanced script management with create, update, delete, list, and
retrieval operations.
* Improved file download responses with proper content headers and
attachment handling.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-28 09:12:43 -03:00
..
authz Activity bounded context: Complete read operations (#38555) 2026-02-09 15:29:12 -06:00
endpointer Added middleware for api-only users auth (#43772) 2026-04-21 07:11:33 -04:00
errors Move PostJSONWithTimeout to platform/http package and activity cleanup (#40561) 2026-02-26 17:39:10 -06:00
http Move script request and response types from server/service to server/fleet (#43868) 2026-04-28 09:12:43 -03:00
logging Android Wi-Fi profile withheld until cert installed on device (#42877) 2026-04-07 16:26:09 -05:00
middleware Added per-IP rate limiting and response caching (#41516) 2026-03-13 15:21:16 -05:00
mysql Added OTEL DB stats metrics, renamed trace attributes to expected OTEL names (#42097) 2026-03-20 11:07:58 -05:00
arch_test.go Move PostJSONWithTimeout to platform/http package and activity cleanup (#40561) 2026-02-26 17:39:10 -06:00
README.md Moved common_mysql package to server/platform/mysql (#38017) 2026-01-08 13:17:19 -06:00

Platform packages

This directory contains infrastructure and cross-cutting technical concerns that are independent of Fleet's business domain. These packages provide foundational capabilities used across the codebase.

Platform vs domain

Following separation of concerns, we distinguish:

  • Platform (infrastructure): Technical concerns like database connectivity, HTTP utilities, middleware, and transport-level error handling. These packages have no knowledge of Fleet's business domain.
  • Domain (business logic): Feature-specific code organized into bounded contexts. Domain packages depend on platform packages, not the reverse.

Guidelines

  • Platform packages must not import domain packages
  • Platform packages should be general-purpose and reusable
  • Architectural boundaries are enforced by arch_test.go