-
Notifications
You must be signed in to change notification settings - Fork 177
Embed the cnab base invocation image into docker-app binary #461
Comments
I am a bit worried about the size of the binary as well. Let us see if we can dig a little into what we can do to improve that (I don't know if the go linker can actually do some tree shaking at a lower granularity level than the package). Maybe @ijc knows. |
I'm afraid I have no special knowledge on that one or magic ways to shrink things. |
Just tried using |
What about a 2 binaries solution, with an online and an offline binary? |
I've already made a PoC with go-binddata which works fine. But there's a not-that-small overhead (25+MB) in the binary. |
How will this work in the context of cross-platform support (e.g. aarch64)? |
In an airgap environment, the user has to pull locally, his own way, the
docker/cnab-app-base
image in order to execute any basic action (bundle, install, upgrade, uninstall, inspect...).Embedding the base image inside the
docker-app
binary can resolve this issue.docker-app
would then first detect if the image is present in the image store, if not it will then load it and apply the action.One drawback is adding more MB to the docker-app binary, which weigh already almost 40 MB. The invocation image itself weigh 40 MB too, but once compressed it falls down to 14 MB.
The text was updated successfully, but these errors were encountered: