A Go package for formatting, normalizing and matching container platforms.
This package is based on the Open Containers Image Spec definition of a platform.
While the OCI platform specifications provide a tool for components to
specify structured information, user input typically doesn't need the full
context and much can be inferred. To solve this problem, this package introduces
"specifiers". A specifier has the format
<os>|<arch>|<os>/<arch>[/<variant>]
. The user can provide either the
operating system or the architecture or both.
An example of a common specifier is linux/amd64
. If the host has a default
runtime that matches this, the user can simply provide the component that
matters. For example, if an image provides amd64
and arm64
support, the
operating system, linux
can be inferred, so they only have to provide
arm64
or amd64
. Similar behavior is implemented for operating systems,
where the architecture may be known but a runtime may support images from
different operating systems.
platforms is a containerd sub-project, licensed under the Apache 2.0 license. As a containerd sub-project, you will find the:
information in our containerd/project
repository.