Azure / Azure/iotedgedev

Do not bundle language runtimes and use docker modules to compile application code

Open
#470 0 comments 0 reactions 0 assignees View on GitHub
feature InBacklog one week hack priority:low
Dominant language
Python
Stars
166
Forks
76
PR merge metrics
No merged PRs in 30d

Description

The image for iotedgedev is *enourmous*, clocking in near 4GB because it includes, among other thing, apt-get cache and runtimes for every supported language out there.

Usage of iotedgedev in a docker container already requires passing through the Docker socket; so why are all of the language tools bundled and fixed? I suggest the iotedgedev runtime should pull down language containers on-the-fly to significantly reduce its image size, with little side-effects; repeated runs will already have the docker image cached, so it won't require re-downloads every time iotedgedev is run.

In fact, if a CLI flag permits passing which app language container is desired, then users no longer are forced to use the fixed version bundled in the current images and can either (1) setup their own compilation environments or (2) vary supported ones from officially published Docker images (e.g. different Java versions, etc).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.