* 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.
Improves http debug logging by also logging the sent response.
Converts regular http logs to key-value format.
Changes the http server options to httputil.ListenAndServe, which is antended to be a standard
ListenAndServe method for all micromdm project.
Adds environment variables as configuration options for sensitive values.
Closes#196
* Add anchor certificate to DEP profile template
* Add -use-server-cert flag to generate certificate from server TLS certificate
* Update CHANGELOG
* Support adding certificate chains (rather than just individual certs) to DEP anchor certs
* Resolves#107
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
blueprints are now saved in boltdb with mdmctl
blueprints work in a similar way to munki manifests:
The devices will use a site_default blueprint, otherwise will
look up one based on serial number.
Other blueprints can be nested