Chapter 10. ImageTag [image.openshift.io/v1]
- Description
ImageTag represents a single tag within an image stream and includes the spec, the status history, and the currently referenced image (if any) of the provided tag. This type replaces the ImageStreamTag by providing a full view of the tag. ImageTags are returned for every spec or status tag present on the image stream. If no tag exists in either form a not found error will be returned by the API. A create operation will succeed if no spec tag has already been defined and the spec field is set. Delete will remove both spec and status elements from the image stream.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
- Type
-
object
- Required
-
spec
-
status
-
image
-
10.1. Specification
Property | Type | Description |
---|---|---|
|
| APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| Image is an immutable representation of a container image and metadata at a point in time. Images are named by taking a hash of their contents (metadata and content) and any change in format, content, or metadata results in a new name. The images resource is primarily for use by cluster administrators and integrations like the cluster image registry - end users instead access images via the imagestreamtags or imagestreamimages resources. While image metadata is stored in the API, any integration that implements the container image registry API must provide its own storage for the raw manifest data, image config, and layer contents. Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). |
|
| Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| metadata is the standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| TagReference specifies optional annotations for images using this tag and an optional reference to an ImageStreamTag, ImageStreamImage, or DockerImage this tag should track. |
|
| NamedTagEventList relates a tag to its image history. |
10.1.1. .image
- Description
Image is an immutable representation of a container image and metadata at a point in time. Images are named by taking a hash of their contents (metadata and content) and any change in format, content, or metadata results in a new name. The images resource is primarily for use by cluster administrators and integrations like the cluster image registry - end users instead access images via the imagestreamtags or imagestreamimages resources. While image metadata is stored in the API, any integration that implements the container image registry API must provide its own storage for the raw manifest data, image config, and layer contents.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
- Type
-
object
Property | Type | Description |
---|---|---|
|
| APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| DockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2. Will not be set when the image represents a manifest list. |
|
| DockerImageLayers represents the layers in the image. May not be set if the image does not define that data or if the image represents a manifest list. |
|
| ImageLayer represents a single layer of the image. Some images may have multiple layers. Some may have none. |
|
| DockerImageManifest is the raw JSON of the manifest |
|
| DockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2. |
|
| DockerImageManifests holds information about sub-manifests when the image represents a manifest list. When this field is present, no DockerImageLayers should be specified. |
|
| ImageManifest represents sub-manifests of a manifest list. The Digest field points to a regular Image object. |
| DockerImageMetadata contains metadata about this image | |
|
| DockerImageMetadataVersion conveys the version of the object, which if empty defaults to "1.0" |
|
| DockerImageReference is the string that can be used to pull this image. |
|
| DockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1. |
|
| Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| metadata is the standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| Signatures holds all signatures of the image. |
|
| ImageSignature holds a signature of an image. It allows to verify image identity and possibly other claims as long as the signature is trusted. Based on this information it is possible to restrict runnable images to those matching cluster-wide policy. Mandatory fields should be parsed by clients doing image verification. The others are parsed from signature’s content by the server. They serve just an informative purpose. Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). |
10.1.2. .image.dockerImageLayers
- Description
- DockerImageLayers represents the layers in the image. May not be set if the image does not define that data or if the image represents a manifest list.
- Type
-
array
10.1.3. .image.dockerImageLayers[]
- Description
- ImageLayer represents a single layer of the image. Some images may have multiple layers. Some may have none.
- Type
-
object
- Required
-
name
-
size
-
mediaType
-
Property | Type | Description |
---|---|---|
|
| MediaType of the referenced object. |
|
| Name of the layer as defined by the underlying store. |
|
| Size of the layer in bytes as defined by the underlying store. |
10.1.4. .image.dockerImageManifests
- Description
- DockerImageManifests holds information about sub-manifests when the image represents a manifest list. When this field is present, no DockerImageLayers should be specified.
- Type
-
array
10.1.5. .image.dockerImageManifests[]
- Description
- ImageManifest represents sub-manifests of a manifest list. The Digest field points to a regular Image object.
- Type
-
object
- Required
-
digest
-
mediaType
-
manifestSize
-
architecture
-
os
-
Property | Type | Description |
---|---|---|
|
|
Architecture specifies the supported CPU architecture, for example |
|
| Digest is the unique identifier for the manifest. It refers to an Image object. |
|
| ManifestSize represents the size of the raw object contents, in bytes. |
|
| MediaType defines the type of the manifest, possible values are application/vnd.oci.image.manifest.v1+json, application/vnd.docker.distribution.manifest.v2+json or application/vnd.docker.distribution.manifest.v1+json. |
|
|
OS specifies the operating system, for example |
|
| Variant is an optional field repreenting a variant of the CPU, for example v6 to specify a particular CPU variant of the ARM CPU. |
10.1.6. .image.signatures
- Description
- Signatures holds all signatures of the image.
- Type
-
array
10.1.7. .image.signatures[]
- Description
ImageSignature holds a signature of an image. It allows to verify image identity and possibly other claims as long as the signature is trusted. Based on this information it is possible to restrict runnable images to those matching cluster-wide policy. Mandatory fields should be parsed by clients doing image verification. The others are parsed from signature’s content by the server. They serve just an informative purpose.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
- Type
-
object
- Required
-
type
-
content
-
Property | Type | Description |
---|---|---|
|
| APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| Conditions represent the latest available observations of a signature’s current state. |
|
| SignatureCondition describes an image signature condition of particular kind at particular probe time. |
|
| Required: An opaque binary string which is an image’s signature. |
| If specified, it is the time of signature’s creation. | |
|
| A human readable string representing image’s identity. It could be a product name and version, or an image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2"). |
|
| SignatureIssuer holds information about an issuer of signing certificate or key. |
|
| SignatureSubject holds information about a person or entity who created the signature. |
|
| Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| metadata is the standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| Contains claims from the signature. |
|
| Required: Describes a type of stored blob. |
10.1.8. .image.signatures[].conditions
- Description
- Conditions represent the latest available observations of a signature’s current state.
- Type
-
array
10.1.9. .image.signatures[].conditions[]
- Description
- SignatureCondition describes an image signature condition of particular kind at particular probe time.
- Type
-
object
- Required
-
type
-
status
-
Property | Type | Description |
---|---|---|
| Last time the condition was checked. | |
| Last time the condition transit from one status to another. | |
|
| Human readable message indicating details about last transition. |
|
| (brief) reason for the condition’s last transition. |
|
| Status of the condition, one of True, False, Unknown. |
|
| Type of signature condition, Complete or Failed. |
10.1.10. .image.signatures[].issuedBy
- Description
- SignatureIssuer holds information about an issuer of signing certificate or key.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Common name (e.g. openshift-signing-service). |
|
| Organization name. |
10.1.11. .image.signatures[].issuedTo
- Description
- SignatureSubject holds information about a person or entity who created the signature.
- Type
-
object
- Required
-
publicKeyID
-
Property | Type | Description |
---|---|---|
|
| Common name (e.g. openshift-signing-service). |
|
| Organization name. |
|
| If present, it is a human readable key id of public key belonging to the subject used to verify image signature. It should contain at least 64 lowest bits of public key’s fingerprint (e.g. 0x685ebe62bf278440). |
10.1.12. .spec
- Description
- TagReference specifies optional annotations for images using this tag and an optional reference to an ImageStreamTag, ImageStreamImage, or DockerImage this tag should track.
- Type
-
object
- Required
-
name
-
Property | Type | Description |
---|---|---|
|
| Optional; if specified, annotations that are applied to images retrieved via ImageStreamTags. |
| Optional; if specified, a reference to another image that this tag should point to. Valid values are ImageStreamTag, ImageStreamImage, and DockerImage. ImageStreamTag references can only reference a tag within this same ImageStream. | |
|
| 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. |
|
| TagImportPolicy controls how images related to this tag will be imported. |
|
| Name of the tag |
|
| Reference states if the tag will be imported. Default value is false, which means the tag will be imported. |
|
| TagReferencePolicy describes how pull-specs for images in this image stream tag are generated when image change triggers in deployment configs or builds are resolved. This allows the image stream author to control how images are accessed. |
10.1.13. .spec.importPolicy
- Description
- TagImportPolicy controls how images related to this tag will be imported.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| ImportMode describes how to import an image manifest. |
|
| Insecure is true if the server may bypass certificate verification or connect directly over HTTP during image import. |
|
| Scheduled indicates to the server that this tag should be periodically checked to ensure it is up to date, and imported |
10.1.14. .spec.referencePolicy
- Description
- TagReferencePolicy describes how pull-specs for images in this image stream tag are generated when image change triggers in deployment configs or builds are resolved. This allows the image stream author to control how images are accessed.
- Type
-
object
- Required
-
type
-
Property | Type | Description |
---|---|---|
|
|
Type determines how the image pull spec should be transformed when the image stream tag is used in deployment config triggers or new builds. The default value is |
10.1.15. .status
- Description
- NamedTagEventList relates a tag to its image history.
- Type
-
object
- Required
-
tag
-
items
-
Property | Type | Description |
---|---|---|
|
| Conditions is an array of conditions that apply to the tag event list. |
|
| TagEventCondition contains condition information for a tag event. |
|
| Standard object’s metadata. |
|
| TagEvent is used by ImageStreamStatus to keep a historical record of images associated with a tag. |
|
| Tag is the tag for which the history is recorded |
10.1.16. .status.conditions
- Description
- Conditions is an array of conditions that apply to the tag event list.
- Type
-
array
10.1.17. .status.conditions[]
- Description
- TagEventCondition contains condition information for a tag event.
- Type
-
object
- Required
-
type
-
status
-
generation
-
Property | Type | Description |
---|---|---|
|
| Generation is the spec tag generation that this status corresponds to |
| LastTransitionTIme is the time the condition transitioned from one status to another. | |
|
| Message is a human readable description of the details about last transition, complementing reason. |
|
| Reason is a brief machine readable explanation for the condition’s last transition. |
|
| Status of the condition, one of True, False, Unknown. |
|
| Type of tag event condition, currently only ImportSuccess |
10.1.18. .status.items
- Description
- Standard object’s metadata.
- Type
-
array
10.1.19. .status.items[]
- Description
- TagEvent is used by ImageStreamStatus to keep a historical record of images associated with a tag.
- Type
-
object
- Required
-
created
-
dockerImageReference
-
image
-
generation
-
Property | Type | Description |
---|---|---|
| Created holds the time the TagEvent was created | |
|
| DockerImageReference is the string that can be used to pull this image |
|
| Generation is the spec tag generation that resulted in this tag being updated |
|
| Image is the image |
10.2. API endpoints
The following API endpoints are available:
/apis/image.openshift.io/v1/imagetags
-
GET
: list objects of kind ImageTag
-
/apis/image.openshift.io/v1/namespaces/{namespace}/imagetags
-
GET
: list objects of kind ImageTag -
POST
: create an ImageTag
-
/apis/image.openshift.io/v1/namespaces/{namespace}/imagetags/{name}
-
DELETE
: delete an ImageTag -
GET
: read the specified ImageTag -
PATCH
: partially update the specified ImageTag -
PUT
: replace the specified ImageTag
-
10.2.1. /apis/image.openshift.io/v1/imagetags
- HTTP method
-
GET
- Description
- list objects of kind ImageTag
HTTP code | Reponse body |
---|---|
200 - OK |
|
401 - Unauthorized | Empty |
10.2.2. /apis/image.openshift.io/v1/namespaces/{namespace}/imagetags
- HTTP method
-
GET
- Description
- list objects of kind ImageTag
HTTP code | Reponse body |
---|---|
200 - OK |
|
401 - Unauthorized | Empty |
- HTTP method
-
POST
- Description
- create an ImageTag
Parameter | Type | Description |
---|---|---|
|
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed |
|
| fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered. |
Parameter | Type | Description |
---|---|---|
|
|
HTTP code | Reponse body |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | Empty |
10.2.3. /apis/image.openshift.io/v1/namespaces/{namespace}/imagetags/{name}
Parameter | Type | Description |
---|---|---|
|
| name of the ImageTag |
- HTTP method
-
DELETE
- Description
- delete an ImageTag
Parameter | Type | Description |
---|---|---|
|
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed |
HTTP code | Reponse body |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | Empty |
- HTTP method
-
GET
- Description
- read the specified ImageTag
HTTP code | Reponse body |
---|---|
200 - OK |
|
401 - Unauthorized | Empty |
- HTTP method
-
PATCH
- Description
- partially update the specified ImageTag
Parameter | Type | Description |
---|---|---|
|
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed |
|
| fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered. |
HTTP code | Reponse body |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | Empty |
- HTTP method
-
PUT
- Description
- replace the specified ImageTag
Parameter | Type | Description |
---|---|---|
|
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed |
|
| fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered. |
Parameter | Type | Description |
---|---|---|
|
|
HTTP code | Reponse body |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | Empty |