7bb957bf75
We use a SOCK_SEQPACKET socket for the attach unix domain socket, which means the kernel will ensure that the reading side only ever get the data from one write operation. We use this for frameing, where the first byte is the pipe that the next bytes are for. We have to make sure that all reads from the socket are using at least the same size of buffer as the write side, because otherwise the extra data in the message will be dropped. This also adds a stdin pipe for the container, similar to the ones we use for stdout/err, because we need a way for an attached client to write to stdin, even if not using a tty. This fixes https://github.com/kubernetes-incubator/cri-o/issues/569 Signed-off-by: Alexander Larsson <alexl@redhat.com>
72 lines
2.1 KiB
Go
72 lines
2.1 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"
|
|
|
|
// Image is the container image ID annotation
|
|
Image = "io.kubernetes.cri-o.Image"
|
|
|
|
// KubeName is the kubernetes name annotation
|
|
KubeName = "io.kubernetes.cri-o.KubeName"
|
|
|
|
// 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"
|
|
|
|
// 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"
|
|
|
|
// 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"
|
|
|
|
// 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"
|
|
)
|
|
|
|
// ContainerType values
|
|
const (
|
|
// ContainerTypeSandbox represents a pod sandbox container
|
|
ContainerTypeSandbox = "sandbox"
|
|
|
|
// ContainerTypeContainer represents a container running within a pod
|
|
ContainerTypeContainer = "container"
|
|
)
|