gvisorgvisor.dev/gvisor/pkg/shim/v1/utils Index | Files

package utils

import "gvisor.dev/gvisor/pkg/shim/v1/utils"

Package utils container miscellaneous utility function used by the shim.

Index

Constants

const (

	// ContainerTypeAnnotation is they key that defines sandbox or container.
	ContainerTypeAnnotation = "io.kubernetes.cri.container-type"

	// ContainerTypeContainer is the value for container.
	ContainerTypeContainer = "container"
)

Annotations from the CRI annotations package.

These are vendor due to import conflicts.

Functions

func IsSandbox

func IsSandbox(spec *specs.Spec) bool

IsSandbox checks whether a container is a sandbox container.

func PanicLogPath

func PanicLogPath(spec *specs.Spec) string

PanicLogPath gets the panic log path from OCI annotation.

func ReadSpec

func ReadSpec(bundle string) (*specs.Spec, error)

ReadSpec reads OCI spec from the bundle directory.

func UpdateVolumeAnnotations

func UpdateVolumeAnnotations(s *specs.Spec) (bool, error)

UpdateVolumeAnnotations add necessary OCI annotations for gvisor volume optimization. Returns true if the spec was modified.

Note about EmptyDir handling: The admission controller sets mount annotations for EmptyDir as follows: - For EmptyDir volumes with medium=Memory, the "type" field is set to tmpfs. - For EmptyDir volumes with medium="", the "type" field is set to bind.

The container spec has EmptyDir mount points as bind mounts. This method modifies the spec as follows: - The "type" mount annotation for all EmptyDirs is changed to tmpfs. - The mount type in spec.Mounts[i].Type is changed as follows:

runsc should use these two setting to infer EmptyDir medium:

func UserLogPath

func UserLogPath(spec *specs.Spec) string

UserLogPath gets user log path from OCI annotation.

func WriteSpec

func WriteSpec(bundle string, spec *specs.Spec) error

WriteSpec writes OCI spec to the bundle directory.

Source Files

annotations.go utils.go volumes.go

Version
v0.0.0-20250515015002-498360cc7c63 (latest)
Published
May 15, 2025
Platform
linux/amd64
Imports
7 packages
Last checked
8 hours ago

Tools for package owners.