mirror of
https://github.com/containers/podman.git
synced 2025-05-23 18:17:53 +08:00

This change adds the following annotation to every container created by podman: ```json "Annotations": { "io.containers.manager": "libpod" } ``` Target of this annotaions is to indicate which project in the containers ecosystem is the major manager of a container when applications share the same storage paths. This way projects can decide if they want to manipulate the container or not. For example, since CRI-O and podman are not using the same container library (libpod), CRI-O can skip podman containers and provide the end user more useful information. A corresponding end-to-end test has been adapted as well. Relates to: https://github.com/cri-o/cri-o/pull/2761 Signed-off-by: Sascha Grunert <sgrunert@suse.com>
123 lines
3.8 KiB
Go
123 lines
3.8 KiB
Go
package annotations
|
|
|
|
const (
|
|
// Annotations carries the received Kubelet annotations
|
|
Annotations = "io.kubernetes.cri-o.Annotations"
|
|
|
|
// ContainerID is the container ID annotation
|
|
ContainerID = "io.kubernetes.cri-o.ContainerID"
|
|
|
|
// ContainerName is the container name annotation
|
|
ContainerName = "io.kubernetes.cri-o.ContainerName"
|
|
|
|
// ContainerType is the container type (sandbox or container) annotation
|
|
ContainerType = "io.kubernetes.cri-o.ContainerType"
|
|
|
|
// Created is the container creation time annotation
|
|
Created = "io.kubernetes.cri-o.Created"
|
|
|
|
// HostName is the container host name annotation
|
|
HostName = "io.kubernetes.cri-o.HostName"
|
|
|
|
// CgroupParent is the sandbox cgroup parent
|
|
CgroupParent = "io.kubernetes.cri-o.CgroupParent"
|
|
|
|
// IP is the container ipv4 or ipv6 address
|
|
IP = "io.kubernetes.cri-o.IP"
|
|
|
|
// NamespaceOptions store the options for namespaces
|
|
NamespaceOptions = "io.kubernetes.cri-o.NamespaceOptions"
|
|
|
|
// SeccompProfilePath is the node seccomp profile path
|
|
SeccompProfilePath = "io.kubernetes.cri-o.SeccompProfilePath"
|
|
|
|
// Image is the container image ID annotation
|
|
Image = "io.kubernetes.cri-o.Image"
|
|
|
|
// ImageName is the container image name annotation
|
|
ImageName = "io.kubernetes.cri-o.ImageName"
|
|
|
|
// ImageRef is the container image ref annotation
|
|
ImageRef = "io.kubernetes.cri-o.ImageRef"
|
|
|
|
// KubeName is the kubernetes name annotation
|
|
KubeName = "io.kubernetes.cri-o.KubeName"
|
|
|
|
// PortMappings holds the port mappings for the sandbox
|
|
PortMappings = "io.kubernetes.cri-o.PortMappings"
|
|
|
|
// Labels are the kubernetes labels annotation
|
|
Labels = "io.kubernetes.cri-o.Labels"
|
|
|
|
// LogPath is the container logging path annotation
|
|
LogPath = "io.kubernetes.cri-o.LogPath"
|
|
|
|
// Metadata is the container metadata annotation
|
|
Metadata = "io.kubernetes.cri-o.Metadata"
|
|
|
|
// Name is the pod name annotation
|
|
Name = "io.kubernetes.cri-o.Name"
|
|
|
|
// Namespace is the pod namespace annotation
|
|
Namespace = "io.kubernetes.cri-o.Namespace"
|
|
|
|
// PrivilegedRuntime is the annotation for the privileged runtime path
|
|
PrivilegedRuntime = "io.kubernetes.cri-o.PrivilegedRuntime"
|
|
|
|
// ResolvPath is the resolver configuration path annotation
|
|
ResolvPath = "io.kubernetes.cri-o.ResolvPath"
|
|
|
|
// HostnamePath is the path to /etc/hostname to bind mount annotation
|
|
HostnamePath = "io.kubernetes.cri-o.HostnamePath"
|
|
|
|
// SandboxID is the sandbox ID annotation
|
|
SandboxID = "io.kubernetes.cri-o.SandboxID"
|
|
|
|
// SandboxName is the sandbox name annotation
|
|
SandboxName = "io.kubernetes.cri-o.SandboxName"
|
|
|
|
// ShmPath is the shared memory path annotation
|
|
ShmPath = "io.kubernetes.cri-o.ShmPath"
|
|
|
|
// MountPoint is the mount point of the container rootfs
|
|
MountPoint = "io.kubernetes.cri-o.MountPoint"
|
|
|
|
// RuntimeHandler is the annotation for runtime handler
|
|
RuntimeHandler = "io.kubernetes.cri-o.RuntimeHandler"
|
|
|
|
// TTY is the terminal path annotation
|
|
TTY = "io.kubernetes.cri-o.TTY"
|
|
|
|
// Stdin is the stdin annotation
|
|
Stdin = "io.kubernetes.cri-o.Stdin"
|
|
|
|
// StdinOnce is the stdin_once annotation
|
|
StdinOnce = "io.kubernetes.cri-o.StdinOnce"
|
|
|
|
// Volumes is the volumes annotatoin
|
|
Volumes = "io.kubernetes.cri-o.Volumes"
|
|
|
|
// HostNetwork indicates whether the host network namespace is used or not
|
|
HostNetwork = "io.kubernetes.cri-o.HostNetwork"
|
|
|
|
// CNIResult is the JSON string representation of the Result from CNI
|
|
CNIResult = "io.kubernetes.cri-o.CNIResult"
|
|
|
|
// ContainerManager is the annotation key for indicating the creator and
|
|
// manager of the container
|
|
ContainerManager = "io.container.manager"
|
|
)
|
|
|
|
// ContainerType values
|
|
const (
|
|
// ContainerTypeSandbox represents a pod sandbox container
|
|
ContainerTypeSandbox = "sandbox"
|
|
|
|
// ContainerTypeContainer represents a container running within a pod
|
|
ContainerTypeContainer = "container"
|
|
)
|
|
|
|
// ContainerManagerLibpod indicates that libpod created and manages the
|
|
// container
|
|
const ContainerManagerLibpod = "libpod"
|