Documentation ¶
Index ¶
- Constants
- func ContainerForObjectFieldPath(obj runtime.Object, fieldPath string) (referencemutator.ContainerMutator, string, error)
- func ContainerImageChanged(oldObj, newObj runtime.Object, newTriggers []ObjectFieldTrigger) bool
- func UpdateObjectFromImages(obj runtime.Object, tagRetriever TagRetriever) (runtime.Object, error)
- type AnnotationReactor
- type AnnotationUpdater
- type ObjectFieldTrigger
- type ObjectReference
- type TagRetriever
Constants ¶
const TriggerAnnotationKey = "image.openshift.io/triggers"
TriggerAnnotationKey is the annotation used on resources to signal they wish to have container image references changed when an image stream tag is updated. Today, only containers can be specified by fieldPath.
Variables ¶
This section is empty.
Functions ¶
func ContainerForObjectFieldPath ¶
func ContainerForObjectFieldPath(obj runtime.Object, fieldPath string) (referencemutator.ContainerMutator, string, error)
ContainerForObjectFieldPath returns a reference to the container in the object with pod spec underneath fieldPath. Returns error if no such container exists or the field path is invalid. Returns the remaining field path beyond the container, if any.
func ContainerImageChanged ¶
func ContainerImageChanged(oldObj, newObj runtime.Object, newTriggers []ObjectFieldTrigger) bool
ContainerImageChanged returns true if any container image referenced by newTriggers changed.
func UpdateObjectFromImages ¶
UpdateObjectFromImages attempts to set the appropriate object information. If changes are necessary, it lazily copies obj and returns it, or if no changes are necessary returns nil.
Types ¶
type AnnotationReactor ¶
type AnnotationReactor struct {
Updater AnnotationUpdater
}
func (*AnnotationReactor) ImageChanged ¶
func (r *AnnotationReactor) ImageChanged(obj runtime.Object, tagRetriever TagRetriever) error
type AnnotationUpdater ¶
type ObjectFieldTrigger ¶
type ObjectFieldTrigger struct { // from is the object this should trigger from. The kind and name fields must be set. From ObjectReference `json:"from"` // fieldPath is a JSONPath string to the field to edit on the object. Required. FieldPath string `json:"fieldPath"` // paused is true if this trigger is temporarily disabled. Optional. Paused bool `json:"paused,omitempty"` }
ObjectFieldTrigger links a field on the current object to another object for mutation.
type ObjectReference ¶
type ObjectReference struct { // kind is the referenced object's schema. Kind string `json:"kind"` // name is the name of the object. Name string `json:"name"` // namespace is the namespace the object is located in. Optional if the object is not // namespaced, or if left empty on a namespaced object, means the current namespace. Namespace string `json:"namespace,omitempty"` // apiVersion is the group and version the type exists in. Optional. APIVersion string `json:"apiVersion,omitempty"` }
ObjectReference identifies an object by its name and kind.