This is a proof of concept for Java tools and libraries implementing specifications from Open Container Initiative.
The trend for rootless containers lead to where we are now and where three tools are used to manage containers and images:
These tools use libraries from https://github.com/containers organization:
These libraries (together) implement the following specification from OCI:
Kubernetes provides CRI API specification for a kubelet
to communicate with actual container runtime and by itself, Kubernetes provides CRI-O implementation of CRI specification.
Focusing on Maven plugins, we have:
-
Kubernetes and OpenShift maven plugins at Eclipse (donated from fabric8-maven-plugin)
These tools rely on Docker daemon (which may be replaced by podman system service
).
It’s not even a goal now, just an idea - can we have libraries that can be used for rootless container/image management in pure Java™?
Can we emulate podman
, buildah
and skopeo
functionality in Java?
Can we talk to CRI-O daemon from Java?
"Java OCI implementation" search reveals information about Oracle Cloud Infrastructure, not about Open Container Initiative.
There’s a podman-maven-plugin from Lex Emmens, but it wraps podman
command invocation using ProcessExecutor from ZeroTurnaround.