Documentation
¶
Index ¶
Constants ¶
View Source
const ( MutationTypeMerge = "merge" MutationTypeReplace = "replace" )
Variables ¶
View Source
var Labels = map[string]string{"app": "crane2"}
Functions ¶
func ValidateLabels ¶
Types ¶
type ContainerMutation ¶
type ContainerMutation interface {
Mutation
// Name returns a name for the container
Name() *string
// SecurityContext returns mutated security context for the target container
SecurityContext() *corev1.SecurityContext
// Resources returns mutated resources on the container
Resources() *corev1.ResourceRequirements
}
func NewContainerMutation ¶
func NewContainerMutation(spec *corev1.Container, typ MutationType) ContainerMutation
type Mutation ¶
type Mutation interface {
Type() MutationType
}
Mutation allows mutating state transfer resources on the fly based on the type
type MutationType ¶
type MutationType string
type NamespacedNamePair ¶
type NamespacedNamePair interface {
// Source represents source namespace and name
Source() types.NamespacedName
// Destination represents destination namespace and name
Destination() types.NamespacedName
}
NamespacedNamePair knows how to map a source and a destination namespace involved in state transfer
func NewNamespacedPair ¶
func NewNamespacedPair(src types.NamespacedName, dest types.NamespacedName) NamespacedNamePair
type ObjectMetaMutation ¶
type ObjectMetaMutation interface {
Mutation
// Labels returns a set of labels for the target ObjectMeta
Labels() map[string]string
// Annotations returns a set of annotations for the target ObjectMeta
Annotations() map[string]string
// Name returns a name for the target ObjectMeta
Name() *string
// OwnerReferences returns a list of OwnerReferences
OwnerReferences() []metav1.OwnerReference
}
ObjectMetaMutation knows how to mutate fields of a metav1.ObjectMeta resource
func NewObjectMetaMutation ¶
func NewObjectMetaMutation(objectMeta *metav1.ObjectMeta, typ MutationType) ObjectMetaMutation
type PodSpecMutation ¶
type PodSpecMutation interface {
Mutation
// SecurityContext returns a PodSecurityContext for the target Pod
PodSecurityContext() *corev1.PodSecurityContext
// NodeSelector returns a node selector for the target Pod
NodeSelector() map[string]string
// NodeName returns a node name for the target Pod
NodeName() *string
}
PodSpecMutation knows how to mutate PodSpec fields of a corev1.Pod resource
func NewPodSpecMutation ¶
func NewPodSpecMutation(spec *corev1.PodSpec, typ MutationType) PodSpecMutation
Click to show internal directories.
Click to hide internal directories.