fleet/server/mdm/android
Jordan Montgomery 5679052134
Fix exclude-any label scoping on non-osquery platforms (#35353)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33132 

Changes label scoping logic to handle manual labels without needing the
host's label_updated_at at all and to update Android/iOS hosts'
label_updated_at on checkins so they update at a similar cadence to
platforms where they're actually supported and should we ever support
queries on those hosts should "just work"

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

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary 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

For unreleased bug fixes in a release candidate, one of:

- [x] Confirmed that the fix is not expected to adversely impact load
test results
- [x] Alerted the release DRI if additional load testing is needed

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-11-12 10:16:01 -05:00
..
mock Android Unenroll: fix multiple unenroll activities (#34292) 2025-10-15 16:26:38 -03:00
service Fix exclude-any label scoping on non-osquery platforms (#35353) 2025-11-12 10:16:01 -05:00
tests Android Unenroll: fix multiple unenroll activities (#34292) 2025-10-15 16:26:38 -03:00
android.go Feature branch for Android config profiles (#32976) 2025-09-22 11:29:57 -04:00
arch_test.go Feature branch for Android config profiles (#32976) 2025-09-22 11:29:57 -04:00
datastore.go Update golangci-lint to v2.4.0 (#33251) 2025-09-22 13:17:11 -05:00
errors.go Hook up Android fleetdm.com/proxy (#29645) 2025-06-12 19:42:15 -05:00
pubsub.go Added custom auth for PubSub push endpoint. (#26664) 2025-02-27 15:16:32 -06:00
README.md Basic Android enroll functionality (#26386) 2025-02-24 14:31:21 -06:00
service.go update copy, add one-time cron to update default policy (#35127) (#35140) 2025-11-03 18:47:39 -05:00

The MDM Android package attempts to decouple Android-specific service and datastore implementations from the core Fleet server code.

Any tightly coupled code that needs both the core Fleet server and the Android-specific features must live in the main server/fleet, server/service, and server/datastore packages. Typical example are MySQL queries. Any code that implements Android-specific functionality should live in the server/mdm/android package. For example, the common code from server/datastore package can call the android datastore methods as needed.

This decoupled approach attempts to achieve the following goals:

  • Easier to understand and find Android-specific code.
  • Easier to fix Android-specific bugs and add new features.
  • Easier to maintain Android-specific feature branches.
  • Faster Android-specific tests, including ability to run all tests in parallel.