var ErrAnnotationExpansionConflict = errors.New("annotation expansion conflict")
func IsIsolated(s *specs.Spec) bool
IsIsolated checks if `s` is hypervisor isolated.
func IsJobContainer(s *specs.Spec) bool
IsJobContainer checks if `s` is asking for a Windows job container.
func IsLCOW(s *specs.Spec) bool
IsLCOW checks if `s` is a LCOW config.
func IsWCOW(s *specs.Spec) bool
IsWCOW checks if `s` is a WCOW config (argon OR isolated).
func ParseAnnotationCommaSeparated(annotation string, annotations map[string]string) []string
ParseAnnotationCommaSeparated searches `annotations` for `annotation` corresponding to a list of comma separated strings
func ParseAnnotationsBool(ctx context.Context, a map[string]string, key string, def bool) bool
ParseAnnotationsBool searches `a` for `key` and if found verifies that the value is `true` or `false` in any case. If `key` is not found returns `def`.
func ParseAnnotationsDisableGMSA(ctx context.Context, s *specs.Spec) bool
ParseAnnotationsDisableGMSA searches for the boolean value which specifies if providing a gMSA credential should be disallowed. Returns the value found, if parsable, otherwise returns false otherwise.
func ProcessAnnotations(ctx context.Context, s *specs.Spec) (err error)
ProcessAnnotations expands annotations into their corresponding annotation groups
func SandboxAnnotationsPassThrough(podAnnots, containerAnnots map[string]string, vals ...string)
SandboxAnnotationsPassThrough passes through the annotations specified by 'vals' from the sandboxes set of annotations through to every container in the pod. Kubernetes only passes metadata annotations to the RunPodSandbox request, so annotations that are meant to be available for use/checking for individual containers need some way to know they were passed for the pod.
KubernetesContainerType defines the valid types of the `annotations.KubernetesContainerType` annotation.
type KubernetesContainerType string
const ( // KubernetesContainerTypeNone is only valid when // `annotations.KubernetesContainerType` is not set. KubernetesContainerTypeNone KubernetesContainerType = "" // KubernetesContainerTypeContainer is valid when // `annotations.KubernetesContainerType == "container"`. KubernetesContainerTypeContainer KubernetesContainerType = "container" // KubernetesContainerTypeSandbox is valid when // `annotations.KubernetesContainerType == "sandbox"`. KubernetesContainerTypeSandbox KubernetesContainerType = "sandbox" )
func GetSandboxTypeAndID(specAnnotations map[string]string) (KubernetesContainerType, string, error)
GetSandboxTypeAndID parses `specAnnotations` searching for the `KubernetesContainerTypeAnnotation` and `KubernetesSandboxIDAnnotation` annotations and if found validates the set before returning.