package pod
import "k8s.io/kubernetes/pkg/api/pod"
Index ¶
- func DropDisabledPodFields(pod, oldPod *api.Pod)
- func DropDisabledTemplateFields(podTemplate, oldPodTemplate *api.PodTemplateSpec)
- func GetPodCondition(status *api.PodStatus, conditionType api.PodConditionType) (int, *api.PodCondition)
- func GetPodReadyCondition(status api.PodStatus) *api.PodCondition
- func GetValidationOptionsFromPodSpecAndMeta(podSpec, oldPodSpec *api.PodSpec, podMeta, oldPodMeta *metav1.ObjectMeta) apivalidation.PodValidationOptions
- func GetValidationOptionsFromPodTemplate(podTemplate, oldPodTemplate *api.PodTemplateSpec) apivalidation.PodValidationOptions
- func GetWarningsForPod(ctx context.Context, pod, oldPod *api.Pod) []string
- func GetWarningsForPodTemplate(ctx context.Context, fieldPath *field.Path, podTemplate, oldPodTemplate *api.PodTemplateSpec) []string
- func IsPodReady(pod *api.Pod) bool
- func IsPodReadyConditionTrue(status api.PodStatus) bool
- func IsRestartableInitContainer(initContainer *api.Container) bool
- func UpdatePodCondition(status *api.PodStatus, condition *api.PodCondition) bool
- func VisitContainers(podSpec *api.PodSpec, mask ContainerType, visitor ContainerVisitor) bool
- func VisitPodConfigmapNames(pod *api.Pod, visitor Visitor, containerType ContainerType) bool
- func VisitPodSecretNames(pod *api.Pod, visitor Visitor, containerType ContainerType) bool
- type ContainerType
- type ContainerVisitor
- type Visitor
Functions ¶
func DropDisabledPodFields ¶
DropDisabledPodFields removes disabled fields from the pod metadata and spec. This should be called from PrepareForCreate/PrepareForUpdate for all resources containing a Pod
func DropDisabledTemplateFields ¶
func DropDisabledTemplateFields(podTemplate, oldPodTemplate *api.PodTemplateSpec)
DropDisabledTemplateFields removes disabled fields from the pod template metadata and spec. This should be called from PrepareForCreate/PrepareForUpdate for all resources containing a PodTemplateSpec
func GetPodCondition ¶
func GetPodCondition(status *api.PodStatus, conditionType api.PodConditionType) (int, *api.PodCondition)
GetPodCondition extracts the provided condition from the given status and returns that. Returns nil and -1 if the condition is not present, and the index of the located condition.
func GetPodReadyCondition ¶
func GetPodReadyCondition(status api.PodStatus) *api.PodCondition
GetPodReadyCondition extracts the pod ready condition from the given status and returns that. Returns nil if the condition is not present.
func GetValidationOptionsFromPodSpecAndMeta ¶
func GetValidationOptionsFromPodSpecAndMeta(podSpec, oldPodSpec *api.PodSpec, podMeta, oldPodMeta *metav1.ObjectMeta) apivalidation.PodValidationOptions
GetValidationOptionsFromPodSpecAndMeta returns validation options based on pod specs and metadata
func GetValidationOptionsFromPodTemplate ¶
func GetValidationOptionsFromPodTemplate(podTemplate, oldPodTemplate *api.PodTemplateSpec) apivalidation.PodValidationOptions
GetValidationOptionsFromPodTemplate will return pod validation options for specified template.
func GetWarningsForPod ¶
func GetWarningsForPodTemplate ¶
func GetWarningsForPodTemplate(ctx context.Context, fieldPath *field.Path, podTemplate, oldPodTemplate *api.PodTemplateSpec) []string
func IsPodReady ¶
IsPodReady returns true if a pod is ready; false otherwise.
func IsPodReadyConditionTrue ¶
IsPodReadyConditionTrue returns true if a pod is ready; false otherwise.
func IsRestartableInitContainer ¶
IsRestartableInitContainer returns true if the container has ContainerRestartPolicyAlways. This function is not checking if the container passed to it is indeed an init container. It is just checking if the container restart policy has been set to always.
func UpdatePodCondition ¶
func UpdatePodCondition(status *api.PodStatus, condition *api.PodCondition) bool
UpdatePodCondition updates existing pod condition or creates a new one. Sets LastTransitionTime to now if the status has changed. Returns true if pod condition has changed or has been added.
func VisitContainers ¶
func VisitContainers(podSpec *api.PodSpec, mask ContainerType, visitor ContainerVisitor) bool
VisitContainers invokes the visitor function with a pointer to every container spec in the given pod spec with type set in mask. If visitor returns false, visiting is short-circuited. VisitContainers returns true if visiting completes, false if visiting was short-circuited.
func VisitPodConfigmapNames ¶
func VisitPodConfigmapNames(pod *api.Pod, visitor Visitor, containerType ContainerType) bool
VisitPodConfigmapNames invokes the visitor function with the name of every configmap referenced by the pod spec. If visitor returns false, visiting is short-circuited. Transitive references (e.g. pod -> pvc -> pv -> secret) are not visited. Returns true if visiting completed, false if visiting was short-circuited.
func VisitPodSecretNames ¶
func VisitPodSecretNames(pod *api.Pod, visitor Visitor, containerType ContainerType) bool
VisitPodSecretNames invokes the visitor function with the name of every secret referenced by the pod spec. If visitor returns false, visiting is short-circuited. Transitive references (e.g. pod -> pvc -> pv -> secret) are not visited. Returns true if visiting completed, false if visiting was short-circuited.
Types ¶
type ContainerType ¶
type ContainerType int
ContainerType signifies container type
const ( // Containers is for normal containers Containers ContainerType = 1 << iota // InitContainers is for init containers InitContainers // EphemeralContainers is for ephemeral containers EphemeralContainers )
const AllContainers ContainerType = (InitContainers | Containers | EphemeralContainers)
AllContainers specifies that all containers be visited
func AllFeatureEnabledContainers ¶
func AllFeatureEnabledContainers() ContainerType
AllFeatureEnabledContainers returns a ContainerType mask which includes all container types except for the ones guarded by feature gate.
type ContainerVisitor ¶
type ContainerVisitor func(container *api.Container, containerType ContainerType) (shouldContinue bool)
ContainerVisitor is called with each container spec, and returns true if visiting should continue.
type Visitor ¶
Visitor is called with each object name, and returns true if visiting should continue
Source Files ¶
util.go warnings.go
Directories ¶
Path | Synopsis |
---|---|
pkg/api/pod/testing |
- Version
- v1.33.0 (latest)
- Published
- Apr 23, 2025
- Platform
- linux/amd64
- Imports
- 17 packages
- Last checked
- 3 hours ago –
Tools for package owners.