From f980bf1658919eac1da50dc70ed67eb1df0fcb6c Mon Sep 17 00:00:00 2001 From: Victor Vrantchan Date: Wed, 18 May 2016 08:56:40 -0400 Subject: [PATCH] update readme --- README.md | 43 +++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index f82c389d..d06c248a 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,41 @@ -mircomdm is a Mobile Device Management for Apple Devices(primarily OS X Macs). +mircomdm is a Mobile Device Management server for Apple Devices(primarily OS X macs). While I intend to implement all the commands defined by Apple in the spec, the current focus is on implementing the features necessary to fit Apple's new(er) management tools (MDM, VPP, DEP) into existing enterprise environments. +This project now has a website with updated documentation - https://micromdm.io/ + + + # Overview -**This repo is under heavy development. Here are a few goals for the first usable release:** +**This repo is under heavy development. The current release is only for developers and expert users** -* communicate with DEP endpoints to fetch/assign profiles and sync devices(in progress) -* support InstallApplication, and InstallProfile payloads (already done) -* allow managing MDM commands in a queue(done) and trigger push notifications(in progress, with Apple's new http2 push gateway) -* manage devices by role/organizational unit and enable default workflows that are triggered when a device checks in the first time. -* create a workable ui. +Current status + +* Fetch devices from DEP +* Supports `InstallApplication` and `InstallProfile` commands +* Accepts a variety of other MDM payloads such as `OSUpdateStatus` and `DeviceInformation` but just dumps the response from the device to standard output. +* Push notificatioins are supported. +* Configuration profiles and applications can be grouped into a "workflow". The workflow can be assigned to a device. +Currently the DEP enrollment step will check for a workflow but ignore it. I'll be adding this feature next. +* No SCEP/individual enrollment profiles yet. Need to have an enrollment profile on disk and pass it as a flag. + +I set up a public [trello board](https://trello.com/b/js5u4DLV/micromdm-dev-board) to manage what is currently worked on and make notes. + +# Getting started +Installation and configuration instructions will be maintained on the [website](https://micromdm.io/getting-started/#installation). -# architecture/dependencies -micromdm is an open source project written as an http server in [Go](https://golang.org/) and: -* uses [PostgreSQL](http://www.postgresql.org/) for long lived data(devices, users, profiles -* uses redis to queue MDM Commands. -* is a collection of [go-kit](https://github.com/go-kit/kit) services, -deployed as a single binary. This should keep development simple and allow scaling different parts as needed. +# Notes on architecture +* micromdm is an open source project written as an http server in [Go](https://golang.org/) +* deployed as a single binary. +* almost everything in the project is a separate library/service. `main` just wraps these together and provides configuratioin flags +* [PostgreSQL](http://www.postgresql.org/) for long lived data(devices, users, profiles, workflows) +* uses redis to queue MDM Commands +* API driven - there will be an admin cli and a web ui, but the server itself is build as a RESTful API. * exposes metrics data in [Prometheus](https://prometheus.io/) format. -* is api driven - should allow for integrations with other tools and make UI development more flexible. # Workflows An administrator can group a DEP enrollment profile, a list of applications and a list of configuration profiles into a workflow and assign the workflow to a device. If a device has an assigned workflow, `micromdm` will configure the device according to the workflow. If you're familiar with Munki's [manifest](https://github.com/munki/munki/wiki/Manifests) feature, workflows work in a similar way. - -