mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 21:47:20 +00:00
<!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #37244 # 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`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. ## Testing - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Internal MySQL utility package reorganized and all internal imports updated to the new platform location; no changes to end-user functionality or behavior. * **Documentation** * Added platform package documentation describing infrastructure responsibilities and architectural boundaries to guide maintainers. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
16 lines
838 B
Markdown
16 lines
838 B
Markdown
# 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`
|