Files
podman/vendor/github.com/containerd/platforms
Matthew Heon 5e94c95ad0 Move to deterministic network setup order
This was implemented by containers/netavark #1369; this commit
completes the process by wiring it into Podman. We now respect
the CLI order for configured networks - if a user passes
`--net net1,net2` we guarantee that net1 will be configured
before net2.

For containers created before this patch, we don't retain enough
information to configure networks in CLI order, so we use
alphabetical order instead to still guarantee consistency.

No breaking API changes have been made, but we do add a new
field to supplement the existing map to (optionally) provide
ordering information. The Podman CLI will always pass this.
Existing applications that do not will, again, receive]
deterministic ordering based on an alphabetical sort of network
names.

This requires the latest version of Netavark to work properly.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2026-04-17 10:00:32 -04:00
..

platforms

A Go package for formatting, normalizing and matching container platforms.

This package is based on the Open Containers Image Spec definition of a platform.

Platform Specifier

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.

Project details

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.