fleet/server/mdm/android
Ian Littman eb1403dab2
🤖 Pass through name when creating a named datastore for Android tests (#35912)
Related to #35847. Flagged by both Junie Pro and Zed + Sonnet 4.5.

Prompt for Junie:

Sometime on Thursday, a code change caused database errors relating to
the database server_mdm_android_tests_CreateNamedMySQLDS not being found
to show up in integration tests, particularly TestServiceEnterprise and
TestServiceSoftware/TestAndroidSoftwareIngestion. Find the cause for
this failure.

Prompt for Zed:

Sometime on Thursday, a code change caused database errors relating to
the database server_mdm_android_tests_CreateNamedMySQLDS not being found
to show up in integration tests, particularly TestServiceEnterprise and
TestServiceSoftware/TestAndroidSoftwareIngestion. Find the cause for
this failure. https://github.com/fleetdm/fleet/issues/35847 has some
more detail.
2025-11-18 13:46:15 -06:00
..
mock Android app self service: backend support (#34711) 2025-11-13 18:10:24 -05:00
service Android app self service: backend support (#34711) 2025-11-13 18:10:24 -05:00
tests 🤖 Pass through name when creating a named datastore for Android tests (#35912) 2025-11-18 13:46:15 -06:00
android.go Feature branch for Android config profiles (#32976) 2025-09-22 11:29:57 -04:00
arch_test.go Android app self service: backend support (#34711) 2025-11-13 18:10:24 -05: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 Android app self service: backend support (#34711) 2025-11-13 18:10:24 -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.