* search a serial out of all serials
* clean up usage
* roll back development code, cleanup
* pull changes to mdmctl and decode url params
* wire up List to accept opts with debugging
* implement forEach without filtering opt
* implement filtering for multiple inbound serials
* drop gorilla/schema in favor of json body
* address comments
* tighten up return
* remove device.Store ref and make use of httputil pkg
Moved all the endpoints into the profile package.
Defined a Store interface which includes all the used BoltDB methods.
Moved the BoltDB implementation into a subpackage.
re-did the folder structure for the API. The client still lives in the server
packages, but will be gradually moved into api/client to remove coupling and make the APIs clearer.
Add more logic to the way code is organized.
/pkg -- library code not directly connected to micromdm
/mdm -- packages meant for the services devices interract with. The MDM protocol.
/dep -- DEP API and related packages.
/platform -- Core APIs the server provides. Commands API, Devices API, queue, pubsub etc.
/workflow -- Packages/API that build on top of platform. Today that's the webhook package.
Depending on what ends up here, the workflow folder might become its own repository.
For #248
Added a User DB similar to the Device DB.
The user specification be added with the API/mdmctl commands and then referenced with a blueprint.
If added to the blueprint, the user will be installed as an administrator during the AccountConfiguration step.
adds subcommands for endpoints implemented in #160
mdmctl get dep-devices
mdmctl get dep-account
mdmctl get dep-profiles
mdmctl apply dep-profiles
Closes#154
* Integrate Profiles into Blueprints
* Listen for events and deploy blueprints for new enrollments
* Track enrolled status of (re-)enrolling devices and re-issue the Check-In Event under a different topic
* Added references to #149 and #110 for direction/conceptual background
* Closes#149 (largely implemented here)
* Profile service/store, API, and mdmctl management
* Group methods with their types
* Centralize error checking and remove profile ID specification on upload (unnecessary)
* Move more error checking into methods