/iotedge

Internship 2019 - My work on the IoT Edge team @Microsoft

Primary LanguageRustMIT LicenseMIT

IoT Edge (Internship 2019)

The project(s) I worked on while interning on the IoT Edge team at Microsoft in 2019.

I'm actually pretty proud of this code (especially containrs), and I think it's a darn shame it never got fully integrated + maintained + open-sourced as part of the core iotedge project. Ah well, such is the fate of many an intern project.

Hey, at least it's open source ¯\_(ツ)_/¯

NOTE: Almost-all non-internship related code has been deleted from this branch of the repo, just to make things easier to navigate.

containrs

A library to interface with OCI-compliant container registries from Rust.

See its README.md for more details.


FWIW, I think there's still a lot of code here that's worth dusting off + modernizing (especially the parsing related bits).

shellrt

A simple, JSON-based protocol to enable writing edgelet Module Runtimes as separate helper processes.

Instead of implementing module runtimes directly within the edgelet process, the shellrt API makes it possible to defer a module runtime implementation to a separate "plugin" runtime.

See its README.md for more details.


The most interesting bit of code here is probaby shellrt-containerd, which allowed edgelet to run off of containerd directly, without pulling in all the Docker infra (which was ultimately the goal of my internship - to decouple IoT Edge from needing to use Docker directly).

edgelet/edgelet-shell

The glue that connects shellrt to the actual edgelet process.