fleet/server
Victor Lyuboslavsky fc33df1981
Basic Android MDM on/off functionality (#26309)
For #26218 

Basic Android MDM on/off backend functionality. Manually tested.

The following env vars must be set:
```
FLEET_DEV_ANDROID_ENABLED=1
FLEET_DEV_ANDROID_SERVICE_CREDENTIALS=$(cat credentials.json)
FLEET_DEV_ANDROID_PUBSUB_TOPIC=projects/your-project/topics/your-topic
```

I picked https://github.com/go-json-experiment/json as the JSON library,
which seems like the safest option.
- will become json/v2 at some point
- currently used in production by other companies, like Tailscale
- well-maintained
- Some context here: https://github.com/fleetdm/fleet/issues/25512

Plan for next work:
- refactoring from 1st PR
- add pubsub with device enroll -> spec proxy for fleetdm.com
- come back to this sub-task to add tests and finish TODOs

# Checklist for submitter

- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-02-18 09:43:11 -06:00
..
archtest Basic Android MDM on/off functionality (#26309) 2025-02-18 09:43:11 -06:00
authz Basic Android MDM on/off functionality (#26309) 2025-02-18 09:43:11 -06:00
bindata Allow users to be readded if they were ever removed (#1945) 2021-09-07 13:33:40 -03:00
config Follow redis redirects by default (#26043) 2025-02-06 13:32:31 -05:00
contexts Illegal argument errors will no longer be logged at the ERROR level (#25761) 2025-01-27 14:03:38 -06:00
cron Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
datastore Basic Android MDM on/off functionality (#26309) 2025-02-18 09:43:11 -06:00
docs Added multi-host callout for Go unit testing. (#26182) 2025-02-07 15:29:20 -06:00
errorstore Adding telemetry for specific Fleet Desktop errors (#23349) 2024-10-31 14:24:42 -05:00
fleet Basic Android MDM on/off functionality (#26309) 2025-02-18 09:43:11 -06:00
goose Add gosimple linter (#23250) 2024-10-29 14:17:51 -05:00
health 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
launcher Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
live_query Fix flakey livequery test (#21666) 2024-08-29 10:03:45 -06:00
logging Add gosimple linter (#23250) 2024-10-29 14:17:51 -05:00
mail Utilize custom SMTP domain if set (#25669) 2025-01-28 11:10:52 -05:00
mdm Basic Android MDM on/off functionality (#26309) 2025-02-18 09:43:11 -06:00
mock Basic Android MDM on/off functionality (#26309) 2025-02-18 09:43:11 -06:00
policies 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
ptr Added better handling of timeout and insufficient permissions errors in NDES SCEP proxy. (#23654) 2024-11-11 14:57:28 -06:00
pubsub Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
service Basic Android MDM on/off functionality (#26309) 2025-02-18 09:43:11 -06:00
shellquote Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
sso chore: remove refs to deprecated io/ioutil (#14485) 2023-10-27 15:28:54 -03:00
test Add Linux encryption states to APIs (#23806) 2024-11-19 13:11:59 -07:00
version Move external dependency fleetdm/kolide-kit to monorepo (#15861) 2024-01-02 18:22:52 -03:00
vulnerabilities Removing usage of semver in resolved in version resolution (#26062) 2025-02-11 12:21:42 -06:00
webhooks Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
websocket Enable errcheck linter for golangci-lint (#8899) 2022-12-05 16:50:49 -06:00
worker Added signed URLs (#25197) 2025-01-09 12:56:54 -06:00
utils.go Allow opting in users to email verification on login (#24273) 2024-12-05 08:37:10 -06:00
utils_test.go feature: target profiles by labels (#16202) 2024-01-26 11:00:58 -05:00