oci

package
v0.12.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrAnnotationExpansionConflict = errors.New("annotation expansion conflict")

Functions

func IsIsolated

func IsIsolated(s *specs.Spec) bool

IsIsolated checks if `s` is hypervisor isolated.

func IsJobContainer

func IsJobContainer(s *specs.Spec) bool

IsJobContainer checks if `s` is asking for a Windows job container.

func IsLCOW

func IsLCOW(s *specs.Spec) bool

IsLCOW checks if `s` is a LCOW config.

func IsWCOW

func IsWCOW(s *specs.Spec) bool

IsWCOW checks if `s` is a WCOW config (argon OR isolated).

func ParseAnnotationCommaSeparated

func ParseAnnotationCommaSeparated(key string, a map[string]string) []string

ParseAnnotationCommaSeparated searches `a` for `key` corresponding to a list of comma separated strings.

func ParseAnnotationCommaSeparatedUint32

func ParseAnnotationCommaSeparatedUint32(_ context.Context, a map[string]string, key string, def []uint32) []uint32

ParseAnnotationCommaSeparated searches `a` for `annotation` corresponding to a list of comma separated strings.

func ParseAnnotationsBool

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

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 ParseAnnotationsInt32

func ParseAnnotationsInt32(ctx context.Context, a map[string]string, key string, def int32) int32

ParseAnnotationsInt32 searches `a` for `key` and if found verifies that the value is a 32-bit signed integer. If `key` is not found returns `def`.

func ParseAnnotationsNullableBool

func ParseAnnotationsNullableBool(ctx context.Context, a map[string]string, key string) *bool

ParseAnnotationsNullableBool searches `a` for `key` and if found verifies that the value is `true` or `false`. If `key` is not found it returns a null pointer. The JSON Marshaller will omit null pointers and will serialize non-null pointers as the value they point at.

func ParseAnnotationsString

func ParseAnnotationsString(a map[string]string, key string, def string) string

ParseAnnotationsString searches `a` for `key`. If `key` is not found returns `def`.

func ParseAnnotationsUint32

func ParseAnnotationsUint32(ctx context.Context, a map[string]string, key string, def uint32) uint32

ParseAnnotationsUint32 searches `a` for `key` and if found verifies that the value is a 32 bit unsigned integer. If `key` is not found returns `def`.

func ParseAnnotationsUint64

func ParseAnnotationsUint64(ctx context.Context, a map[string]string, key string, def uint64) uint64

ParseAnnotationsUint64 searches `a` for `key` and if found verifies that the value is a 64 bit unsigned integer. If `key` is not found returns `def`.

func ProcessAnnotations

func ProcessAnnotations(ctx context.Context, s *specs.Spec) (err error)

ProcessAnnotations expands annotations into their corresponding annotation groups.

func SandboxAnnotationsPassThrough

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.

Types

type KubernetesContainerType

type KubernetesContainerType string

KubernetesContainerType defines the valid types of the `annotations.KubernetesContainerType` annotation.

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL