-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
[rfc] crun extension compatibility #4642
Comments
I agree with implementing both extensions. I don't know if runtime-spec would like to have those things, I think we should implement the extensions first, though. Then we can see, as runtime-spec also has VM-runtimes, etc. |
We should implement them under |
I think They used to call I think it's a bit late to ask them to change it to something else, and re-using the same annotations makes more sense for compatibility ( |
In
|
Would it be possible to ask Red Hat to handover the Even if not, we may still implement |
Anything is possible I guess, but I don't know how @giuseppe would feel about it. I do think the But this is a 6-year-old decision at this point, and they do legitimately own that domain, idk. I wouldn't fault @giuseppe for not wanting to do it, especially given that some of his proposals where annotations were meant to be stop-gaps still haven't been merged... Also, from my perspective supporting the existing annotations is a runc problem while whether they should continue to use
For For what it's worth, I'm working on a spec PR for defining how vendors should reference their feature extensions in |
I think we should increase As for the naming, we can document that those are non-standard annotations and have nothing to do with OCI despite the name. |
I own the I am currently using |
Thanks @giuseppe
I think this is fine for the existing annotations, but some of them could be promoted to a proper JSON structure? |
We've had a fair few requests from folks about the
run.oci.*
extensions and why runc doesn't support them. Given that some of these extensions are likely not going to be put into the runtime-spec (run.oci.keep_original_groups
was suggested some time ago in opencontainers/runtime-spec#1020 but the core feature is basically a security anti-feature).The two main features I see requests for quite often are:
run.oci.keep_original_groups
which lets you disable thesetgroups
step when using rootless containers withnewgidmap
. This lets the container access host groups (which is usually a security issue) which then allows you to access the GPU if the original user had access to thevideo
group.podman
has a magic flag to let you use this, but obviously it only works withcrun
at the moment since it's controlled by a non-standard annotation (benefits of vertical integration, I guess you could say).run.oci.handler
is a generic mechanism forcrun
to run non-standard container workloads rather than doing a straight-forwardexec
of a binary. In particularrun.oci.handler=wasm
causescrun
to run WASM code in the context of thepid1
through various WASM runtimes directly (crun
can be compiled with wasm support, where a wasm runtime library is linked intocrun
and thencrun
runs the runtime on the target.wasm
or.w
. I'm a little worried that it seems that nobody can agree on what WASM runtime should be used (andcrun
itself supports four different runtimes AFAICS) but we could do something minimal with https://github.com/tetratelabs/wazero to see how many users want this feature.Though there are probably others.
What should the policy be for supporting these? My view is that if users need these features we should support them even if they're non-standard because the alternative is that folks switch to
crun
. (One obvious point of confusion is that crun has called the annotationsrun.oci.*
which users might think means they are official OCI annotations -- obviously onlyorg.opencontainers.*
annotations are official but that doesn't really help with public perception.)The text was updated successfully, but these errors were encountered: