-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Std ops.mkStandardOCI
compatibility problem with ops.mkOperable
to wrap
#318
Comments
Ran into this same issue today as well, but not with Python. It looks like if the I think it's related to the fact that the operable wraps by using |
Sorry for the delay in looking into this and thanks for the report! The issue, so to speak lies in this line and derives indeed from the implementation choices of Line 48 in 301a649
This has fortunately just been fixed. For my own better understanding:
Which of the code in the flake brings
That is a good idea, however it also seems to me that this python case could have maybe a better designed interface? Just ideas, but why not e.g. I'm musing about this because currently, the operable's |
Context on
|
Fixed in #331
I have a pretty standard poetry2nix web application that I wrap on its environment derivation using
hypercorn
. The built OCI fails to detect the correct binary location because it relies onlib.getExe
.mkOperable
works as expected, though.Symptoms
I don't have the exact error that throws from Docker engine. It should be something along the line of Docker container not being to start up because
/bin/entrypoint
not found.If you have access to
ls
(I use Python'sos.listdir
because I'm too lazy to build a dev layer), You would see that/bin/entrypoint
exists, but it is a broken symlink.One example output is
Workaround
Nix flakes and its workaround variant
Some more insights from build artifacts
Thoughts
mkPoetryEnv
.mkPoetryEnv
does provide a simple way to override onto a simplername
, whereas withdependencyEnv
overwrites the declaredname
.Requests
mkStandardOCI
that checks for symlink integrity. Might be doable at the phase of writing/bin/entrypoint
and before usingnix2container
to write.json
manifestThe text was updated successfully, but these errors were encountered: