lburgazzoli opened a new issue #2732: URL: https://github.com/apache/camel-k/issues/2732
Open Container Initiative (OCI) has defined [specs](https://github.com/opencontainers/image-spec) to enable the creation of interoperable tools for building, transporting, and preparing a container image to run, however - in practice - registries have a little to do with container images and we can think about them as a content addressable storage. In camel-k we have been struggling a lot about find an easy way to provide artifacts/blobs to the runtime and I think experimenting about leveraging OCI compatible registries could be a way to improve the situation. This is not a brand new novel idea as: - some discussion about leveraging container images have been happened already in the camel-k community - solo.io [leverages](https://github.com/solo-io/wasm/blob/master/spec/spec.md) container images to distribute WASM - there has been a recent talk about hacking the registry at [kubecon](https://t.co/hqeHSA4Yqf?amp=1) Since each `layer` is essential a blob (often a `tar.gz`) and that the `layer` definition has an optional `annotations` property that can hold arbitrary key/value paris, we can leverage it to identify camel-k artifacts (i.e. additional dependencies, resources, kamelets repositories, etc): ```json { "schemaVersion": 2, "layers": [{ "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip", "size": 16724, "digest": "sha256:3c3a4604a545cdc127456d94e421cd355bca5b528f4a9c1905b15da2eb4a4c6b", "annotations": { "camel.apache.org.dependency": "com.acme:foo:1.0" } }, { "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip", "size": 73109, "digest": "sha256:ec4b8955958665577945c89419d1af06b5f7636b4ac3da7f12184802ad867736", "annotations": { "camel.apache.org.kamelets.repository": "acme-kamelets" } } ] } ``` **NOTES**: 1. solo.io has introduced a set of additional `mediaType` values but that may not work with some registries or tools so IMHO, at this stage, it would be better not to introduce a custom media type and leverage annotations. 2. A further evolution would be to implement a [Kubernetes Container Storage Interface (CSI)](https://github.com/kubernetes-cs) to mount OCI layers to a POD -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org