deprecate imagestream dockerImageRepository field
@@ -173,6 +173,8 @@ type ImageStreamSpec struct {
// lookupPolicy controls how other resources reference images within this namespace.
LookupPolicy ImageLookupPolicy `json:"lookupPolicy,omitempty" protobuf:"bytes,3,opt,name=lookupPolicy"`
// dockerImageRepository is optional, if specified this stream is backed by a Docker repository on this server
+ // Deprecated: This field is deprecated as of v3.7 and will be removed in a future release.
+ // Specify the source for the tags to be imported in each tag via the spec.tags.from reference instead.
DockerImageRepository string `json:"dockerImageRepository,omitempty" protobuf:"bytes,1,opt,name=dockerImageRepository"`
// tags map arbitrary string values to specific image locators
Tags []TagReference `json:"tags,omitempty" protobuf:"bytes,2,rep,name=tags"`
@@ -193,18 +195,25 @@ type ImageLookupPolicy struct {
type TagReference struct {
// Name of the tag
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
- // Annotations associated with images using this tag
+ // Optional; if specified, annotations that are applied to images retrieved via ImageStreamTags.
Annotations map[string]string `json:"annotations" protobuf:"bytes,2,rep,name=annotations"`
- // From is a reference to an image stream tag or image stream this tag should track
+ // Optional; if specified, a reference to another image that this tag should point to. Valid values
+ // are ImageStreamTag, ImageStreamImage, and DockerImage.
From *kapi.ObjectReference `json:"from,omitempty" protobuf:"bytes,3,opt,name=from"`
- // Reference states if the tag will be imported. Default value is false, which means the tag will be imported.
+ // Reference states if the tag will be imported. Default value is false, which means the tag will
+ // be imported.
Reference bool `json:"reference,omitempty" protobuf:"varint,4,opt,name=reference"`
- // Generation is the image stream generation that updated this tag - setting it to 0 is an indication that the generation must be updated.
- // Legacy clients will send this as nil, which means the client doesn't know or care.
+ // Generation is a counter that tracks mutations to the spec tag (user intent). When a tag reference
+ // is changed the generation is set to match the current stream generation (which is incremented every
+ // time spec is changed). Other processes in the system like the image importer observe that the
+ // generation of spec tag is newer than the generation recorded in the status and use that as a trigger
+ // to import the newest remote tag. To trigger a new import, clients may set this value to zero which
+ // will reset the generation to the latest stream generation. Legacy clients will send this value as
+ // nil which will be merged with the current tag generation.
Generation *int64 `json:"generation" protobuf:"varint,5,opt,name=generation"`
- // Import is information that controls how images may be imported by the server.
+ // ImportPolicy is information that controls how images may be imported by the server.
ImportPolicy TagImportPolicy `json:"importPolicy,omitempty" protobuf:"bytes,6,opt,name=importPolicy"`
- // ReferencePolicy defines how other components should consume the image
+ // ReferencePolicy defines how other components should consume the image.
ReferencePolicy TagReferencePolicy `json:"referencePolicy,omitempty" protobuf:"bytes,7,opt,name=referencePolicy"`
}
