api

package
v1.5.0-rc.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 9, 2017 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Overview

Package api is the internal version of the API.

Index

Constants

View Source
const (
	// DockerDefaultNamespace is the value for namespace when a single segment name is provided.
	DockerDefaultNamespace = "library"
	// DockerDefaultRegistry is the value for the registry when none was provided.
	DockerDefaultRegistry = "docker.io"
	// DockerDefaultV1Registry is the host name of the default v1 registry
	DockerDefaultV1Registry = "index." + DockerDefaultRegistry
	// DockerDefaultV2Registry is the host name of the default v2 registry
	DockerDefaultV2Registry = "registry-1." + DockerDefaultRegistry

	// TagReferenceAnnotationTagHidden indicates that a given TagReference is hidden from search results
	TagReferenceAnnotationTagHidden = "hidden"
)
View Source
const (
	// ManagedByOpenShiftAnnotation indicates that an image is managed by OpenShift's registry.
	ManagedByOpenShiftAnnotation = "openshift.io/image.managed"

	// DockerImageRepositoryCheckAnnotation indicates that OpenShift has
	// attempted to import tag and image information from an external Docker
	// image repository.
	DockerImageRepositoryCheckAnnotation = "openshift.io/image.dockerRepositoryCheck"

	// InsecureRepositoryAnnotation may be set true on an image stream to allow insecure access to pull content.
	InsecureRepositoryAnnotation = "openshift.io/image.insecureRepository"

	// ExcludeImageSecretAnnotation indicates that a secret should not be returned by imagestream/secrets.
	ExcludeImageSecretAnnotation = "openshift.io/image.excludeSecret"

	// DefaultImageTag is used when an image tag is needed and the configuration does not specify a tag to use.
	DefaultImageTag = "latest"

	// ResourceImageStreams represents a number of image streams in a project.
	ResourceImageStreams kapi.ResourceName = "openshift.io/imagestreams"

	// ResourceImageStreamImages represents a number of unique references to images in all image stream
	// statuses of a project.
	ResourceImageStreamImages kapi.ResourceName = "openshift.io/images"

	// ResourceImageStreamTags represents a number of unique references to images in all image stream specs
	// of a project.
	ResourceImageStreamTags kapi.ResourceName = "openshift.io/image-tags"

	// Limit that applies to images. Used with a max["storage"] LimitRangeItem to set
	// the maximum size of an image.
	LimitTypeImage kapi.LimitType = "openshift.io/Image"

	// Limit that applies to image streams. Used with a max[resource] LimitRangeItem to set the maximum number
	// of resource. Where the resource is one of "openshift.io/images" and "openshift.io/image-tags".
	LimitTypeImageStream kapi.LimitType = "openshift.io/ImageStream"
)
View Source
const (
	// SignatureTrusted means the signing key or certificate was valid and the signature matched the image at
	// the probe time.
	SignatureTrusted = "Trusted"
	// SignatureForImage means the signature matches image object containing it.
	SignatureForImage = "ForImage"
	// SignatureExpired means the signature or its signing key or certificate had been expired at the probe
	// time.
	SignatureExpired = "Expired"
	// SignatureRevoked means the signature or its signing key or certificate has been revoked.
	SignatureRevoked = "Revoked"
)

These are valid conditions of an image signature.

View Source
const FutureGroupName = "image.openshift.io"
View Source
const GroupName = ""
View Source
const (
	// The supported type of image signature.
	ImageSignatureTypeAtomicImageV1 string = "AtomicImageV1"
)

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

Functions

func AddTagEventToImageStream

func AddTagEventToImageStream(stream *ImageStream, tag string, next TagEvent) bool

AddTagEventToImageStream attempts to update the given image stream with a tag event. It will collapse duplicate entries - returning true if a change was made or false if no change occurred. Any successful tag resets the status field.

func DeepCopy_api_Descriptor added in v1.3.0

func DeepCopy_api_Descriptor(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_DockerConfig added in v1.3.0

func DeepCopy_api_DockerConfig(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_DockerConfigHistory added in v1.3.0

func DeepCopy_api_DockerConfigHistory(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_DockerConfigRootFS added in v1.3.0

func DeepCopy_api_DockerConfigRootFS(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_DockerFSLayer added in v1.3.0

func DeepCopy_api_DockerFSLayer(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_DockerHistory added in v1.3.0

func DeepCopy_api_DockerHistory(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_DockerImage added in v1.3.0

func DeepCopy_api_DockerImage(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_DockerImageConfig added in v1.3.0

func DeepCopy_api_DockerImageConfig(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_DockerImageManifest added in v1.3.0

func DeepCopy_api_DockerImageManifest(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_DockerImageReference added in v1.3.0

func DeepCopy_api_DockerImageReference(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_DockerV1CompatibilityImage added in v1.3.0

func DeepCopy_api_DockerV1CompatibilityImage(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_DockerV1CompatibilityImageSize added in v1.3.0

func DeepCopy_api_DockerV1CompatibilityImageSize(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_Image added in v1.3.0

func DeepCopy_api_Image(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageImportSpec added in v1.3.0

func DeepCopy_api_ImageImportSpec(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageImportStatus added in v1.3.0

func DeepCopy_api_ImageImportStatus(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageLayer added in v1.3.0

func DeepCopy_api_ImageLayer(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageList added in v1.3.0

func DeepCopy_api_ImageList(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageSignature added in v1.3.0

func DeepCopy_api_ImageSignature(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageStream added in v1.3.0

func DeepCopy_api_ImageStream(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageStreamImage added in v1.3.0

func DeepCopy_api_ImageStreamImage(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageStreamImport added in v1.3.0

func DeepCopy_api_ImageStreamImport(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageStreamImportSpec added in v1.3.0

func DeepCopy_api_ImageStreamImportSpec(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageStreamImportStatus added in v1.3.0

func DeepCopy_api_ImageStreamImportStatus(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageStreamList added in v1.3.0

func DeepCopy_api_ImageStreamList(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageStreamMapping added in v1.3.0

func DeepCopy_api_ImageStreamMapping(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageStreamSpec added in v1.3.0

func DeepCopy_api_ImageStreamSpec(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageStreamStatus added in v1.3.0

func DeepCopy_api_ImageStreamStatus(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageStreamTag added in v1.3.0

func DeepCopy_api_ImageStreamTag(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ImageStreamTagList added in v1.3.0

func DeepCopy_api_ImageStreamTagList(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_RepositoryImportSpec added in v1.3.0

func DeepCopy_api_RepositoryImportSpec(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_RepositoryImportStatus added in v1.3.0

func DeepCopy_api_RepositoryImportStatus(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_SignatureCondition added in v1.3.0

func DeepCopy_api_SignatureCondition(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_SignatureGenericEntity added in v1.3.0

func DeepCopy_api_SignatureGenericEntity(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_SignatureIssuer added in v1.3.0

func DeepCopy_api_SignatureIssuer(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_SignatureSubject added in v1.3.0

func DeepCopy_api_SignatureSubject(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_TagEvent added in v1.3.0

func DeepCopy_api_TagEvent(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_TagEventCondition added in v1.3.0

func DeepCopy_api_TagEventCondition(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_TagEventList added in v1.3.0

func DeepCopy_api_TagEventList(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_TagImportPolicy added in v1.3.0

func DeepCopy_api_TagImportPolicy(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_TagReference added in v1.3.0

func DeepCopy_api_TagReference(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_TagReferencePolicy added in v1.5.0

func DeepCopy_api_TagReferencePolicy(in interface{}, out interface{}, c *conversion.Cloner) error

func DifferentTagEvent added in v1.1.2

func DifferentTagEvent(stream *ImageStream, tag string, next TagEvent) bool

DifferentTagEvent returns true if the supplied tag event matches the current stream tag event. Generation is not compared.

func DifferentTagGeneration added in v1.3.0

func DifferentTagGeneration(stream *ImageStream, tag string) bool

DifferentTagEvent compares the generation on tag's spec vs its status. Returns if spec generation is newer than status one.

func DockerImageReferenceForImage added in v1.5.0

func DockerImageReferenceForImage(stream *ImageStream, imageID string) (string, bool)

DockerImageReferenceForImage returns the docker reference for specified image. Assuming the image stream contains the image and the image has corresponding tag, this function will try to find this tag and take the reference policy into the account. If the image stream does not reference the image or the image does not have corresponding tag event, this function will return false.

func HasTagCondition added in v1.1.2

func HasTagCondition(stream *ImageStream, tag string, condition TagEventCondition) bool

HasTagCondition returns true if the specified image stream tag has a condition with the same type, status, and reason (does not check generation, date, or message).

func ImageConfigMatchesImage added in v1.3.0

func ImageConfigMatchesImage(image *Image, imageConfig []byte) (bool, error)

ImageConfigMatchesImage returns true if the provided image config matches a digest stored in the manifest of the image.

func ImageStreamToSelectableFields added in v1.0.8

func ImageStreamToSelectableFields(ir *ImageStream) fields.Set

ImageStreamToSelectableFields returns a label set that represents the object.

func ImageToSelectableFields added in v1.0.8

func ImageToSelectableFields(image *Image) fields.Set

ImageToSelectableFields returns a label set that represents the object.

func ImageWithMetadata

func ImageWithMetadata(image *Image) error

ImageWithMetadata mutates the given image. It parses raw DockerImageManifest data stored in the image and fills its DockerImageMetadata and other fields.

func IndexOfImageSignature added in v1.3.0

func IndexOfImageSignature(signatures []ImageSignature, sType string, sContent []byte) int

IndexOfImageSignature returns index of signature identified by type and blob in the image if present. It returns -1 otherwise.

func IndexOfImageSignatureByName added in v1.3.0

func IndexOfImageSignatureByName(signatures []ImageSignature, name string) int

IndexOfImageSignatureByName returns an index of signature identified by name in the image if present. It returns -1 otherwise.

func IsRegistryDockerHub added in v1.1.2

func IsRegistryDockerHub(registry string) bool

IsRegistryDockerHub returns true if the given registry name belongs to Docker hub.

func JoinImageSignatureName added in v1.3.0

func JoinImageSignatureName(imageName, signatureName string) (string, error)

JoinImageSignatureName joins image name and custom signature name into one string with @ separator.

func JoinImageStreamTag

func JoinImageStreamTag(name, tag string) string

JoinImageStreamTag turns a name and tag into the name of an ImageStreamTag

func Kind added in v1.1.2

func Kind(kind string) unversioned.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func LabelForStream added in v1.3.0

func LabelForStream(stream *ImageStream) string

func LatestObservedTagGeneration added in v1.1.2

func LatestObservedTagGeneration(stream *ImageStream, tag string) int64

LatestObservedTagGeneration returns the generation value for the given tag that has been observed by the controller monitoring the image stream. If the tag has not been observed, the generation is zero.

func MakeImageStreamImageName added in v1.3.0

func MakeImageStreamImageName(name, id string) string

MakeImageStreamImageName creates a name for image stream image object from an image stream name and an id.

func ManifestMatchesImage added in v1.1.2

func ManifestMatchesImage(image *Image, newManifest []byte) (bool, error)

ManifestMatchesImage returns true if the provided manifest matches the name of the image.

func MostAccuratePullSpec added in v1.1.2

func MostAccuratePullSpec(pullSpec string, id, tag string) (string, bool)

MostAccuratePullSpec returns a docker image reference that uses the current ID if possible, the current tag otherwise, and returns false if the reference if the spec could not be parsed. The returned spec has all client defaults applied.

func NormalizeImageStreamTag added in v1.0.8

func NormalizeImageStreamTag(name string) string

NormalizeImageStreamTag normalizes an image stream tag by defaulting to 'latest' if no tag has been specified.

func ParseImageStreamImageName added in v1.3.0

func ParseImageStreamImageName(input string) (name string, id string, err error)

ParseImageStreamImageName splits a string into its name component and ID component, and returns an error if the string is not in the right form.

func ParseImageStreamTagName added in v1.3.0

func ParseImageStreamTagName(istag string) (name string, tag string, err error)

ParseImageStreamTagName splits a string into its name component and tag component, and returns an error if the string is not in the right form.

func PrioritizeTags added in v1.1.2

func PrioritizeTags(tags []string)

PrioritizeTags orders a set of image tags with a few conventions:

1. the "latest" tag, if present, should be first 2. any tags that represent a semantic minor version ("5.1", "v5.1", "v5.1-rc1") should be next, in descending order 3. any tags that represent a full semantic version ("5.1.3-other", "v5.1.3-other") should be next, in descending order 4. any remaining tags should be sorted in lexicographic order

The method updates the tags in place.

func RegisterDeepCopies added in v1.4.0

func RegisterDeepCopies(scheme *runtime.Scheme) error

RegisterDeepCopies adds deep-copy functions to the given scheme. Public to allow building arbitrary schemes.

func ResolveLatestTaggedImage added in v1.5.0

func ResolveLatestTaggedImage(stream *ImageStream, tag string) (string, bool)

ResolveLatestTaggedImage returns the appropriate pull spec for a given tag in the image stream, handling the tag's reference policy if necessary to return a resolved image. Callers that transform an ImageStreamTag into a pull spec should use this method instead of LatestTaggedImage.

func Resource added in v1.1.2

func Resource(resource string) unversioned.GroupResource

Resource takes an unqualified resource and returns back a Group qualified GroupResource

func SetTagConditions added in v1.1.2

func SetTagConditions(stream *ImageStream, tag string, conditions ...TagEventCondition)

SetTagConditions applies the specified conditions to the status of the given tag.

func ShortDockerImageID added in v1.0.7

func ShortDockerImageID(image *DockerImage, length int) string

ShortDockerImageID returns a short form of the provided DockerImage ID for display

func SortStatusTags added in v1.0.6

func SortStatusTags(tags map[string]TagEventList) []string

SortStatusTags sorts the status tags of an image stream based on the latest created

func SplitImageSignatureName added in v1.3.0

func SplitImageSignatureName(imageSignatureName string) (imageName, signatureName string, err error)

SplitImageSignatureName splits given signature name into image name and signature name.

func SplitImageStreamImage added in v1.3.0

func SplitImageStreamImage(nameAndID string) (name string, id string, ok bool)

SplitImageStreamImage turns the name of an ImageStreamImage into Name and ID. It returns false if the ID was not properly specified in the name.

func SplitImageStreamTag

func SplitImageStreamTag(nameAndTag string) (name string, tag string, ok bool)

SplitImageStreamTag turns the name of an ImageStreamTag into Name and Tag. It returns false if the tag was not properly specified in the name.

func UpdateChangedTrackingTags added in v1.0.7

func UpdateChangedTrackingTags(new, old *ImageStream) int

UpdateChangedTrackingTags identifies any tags in the status that have changed and ensures any referenced tracking tags are also updated. It returns the number of updates applied.

func UpdateTrackingTags

func UpdateTrackingTags(stream *ImageStream, updatedTag string, updatedImage TagEvent) int

UpdateTrackingTags sets updatedImage as the most recent TagEvent for all tags in stream.spec.tags that have from.kind = "ImageStreamTag" and the tag in from.name = updatedTag. from.name may be either <tag> or <stream name>:<tag>. For now, only references to tags in the current stream are supported.

For example, if stream.spec.tags[latest].from.name = 2.0, whenever an image is pushed to this stream with the tag 2.0, status.tags[latest].items[0] will also be updated to point at the same image that was just pushed for 2.0.

Returns the number of tags changed.

Types

type DefaultRegistry added in v1.3.0

type DefaultRegistry interface {
	DefaultRegistry() (string, bool)
}

DefaultRegistry returns the default Docker registry (host or host:port), or false if it is not available.

type DefaultRegistryFunc added in v1.3.0

type DefaultRegistryFunc func() (string, bool)

DefaultRegistryFunc implements DefaultRegistry for a simple function.

func (DefaultRegistryFunc) DefaultRegistry added in v1.3.0

func (fn DefaultRegistryFunc) DefaultRegistry() (string, bool)

DefaultRegistry implements the DefaultRegistry interface for a function.

type Descriptor added in v1.3.0

type Descriptor struct {
	// MediaType describe the type of the content. All text based formats are
	// encoded as utf-8.
	MediaType string `json:"mediaType,omitempty"`

	// Size in bytes of content.
	Size int64 `json:"size,omitempty"`

	// Digest uniquely identifies the content. A byte stream can be verified
	// against against this digest.
	Digest string `json:"digest,omitempty"`
}

Descriptor describes targeted content. Used in conjunction with a blob store, a descriptor can be used to fetch, store and target any kind of blob. The struct also describes the wire protocol format. Fields should only be added but never changed.

type DockerConfig

type DockerConfig struct {
	Hostname        string              `json:"Hostname,omitempty"`
	Domainname      string              `json:"Domainname,omitempty"`
	User            string              `json:"User,omitempty"`
	Memory          int64               `json:"Memory,omitempty"`
	MemorySwap      int64               `json:"MemorySwap,omitempty"`
	CPUShares       int64               `json:"CpuShares,omitempty"`
	CPUSet          string              `json:"Cpuset,omitempty"`
	AttachStdin     bool                `json:"AttachStdin,omitempty"`
	AttachStdout    bool                `json:"AttachStdout,omitempty"`
	AttachStderr    bool                `json:"AttachStderr,omitempty"`
	PortSpecs       []string            `json:"PortSpecs,omitempty"`
	ExposedPorts    map[string]struct{} `json:"ExposedPorts,omitempty"`
	Tty             bool                `json:"Tty,omitempty"`
	OpenStdin       bool                `json:"OpenStdin,omitempty"`
	StdinOnce       bool                `json:"StdinOnce,omitempty"`
	Env             []string            `json:"Env,omitempty"`
	Cmd             []string            `json:"Cmd,omitempty"`
	DNS             []string            `json:"Dns,omitempty"` // For Docker API v1.9 and below only
	Image           string              `json:"Image,omitempty"`
	Volumes         map[string]struct{} `json:"Volumes,omitempty"`
	VolumesFrom     string              `json:"VolumesFrom,omitempty"`
	WorkingDir      string              `json:"WorkingDir,omitempty"`
	Entrypoint      []string            `json:"Entrypoint,omitempty"`
	NetworkDisabled bool                `json:"NetworkDisabled,omitempty"`
	SecurityOpts    []string            `json:"SecurityOpts,omitempty"`
	OnBuild         []string            `json:"OnBuild,omitempty"`
	Labels          map[string]string   `json:"Labels,omitempty"`
}

DockerConfig is the list of configuration options used when creating a container.

type DockerConfigHistory added in v1.3.0

type DockerConfigHistory struct {
	Created    unversioned.Time `json:"created"`
	Author     string           `json:"author,omitempty"`
	CreatedBy  string           `json:"created_by,omitempty"`
	Comment    string           `json:"comment,omitempty"`
	EmptyLayer bool             `json:"empty_layer,omitempty"`
}

DockerConfigHistory stores build commands that were used to create an image

type DockerConfigRootFS added in v1.3.0

type DockerConfigRootFS struct {
	Type    string   `json:"type"`
	DiffIDs []string `json:"diff_ids,omitempty"`
}

DockerConfigRootFS describes images root filesystem

type DockerFSLayer

type DockerFSLayer struct {
	// DockerBlobSum is the tarsum of the referenced filesystem image layer
	// TODO make this digest.Digest once docker/distribution is in Godeps
	DockerBlobSum string `json:"blobSum"`
}

DockerFSLayer is a container struct for BlobSums defined in an image manifest

type DockerHistory

type DockerHistory struct {
	// DockerV1Compatibility is the raw v1 compatibility information
	DockerV1Compatibility string `json:"v1Compatibility"`
}

DockerHistory stores unstructured v1 compatibility information

type DockerImage

type DockerImage struct {
	unversioned.TypeMeta `json:",inline"`

	ID              string           `json:"Id"`
	Parent          string           `json:"Parent,omitempty"`
	Comment         string           `json:"Comment,omitempty"`
	Created         unversioned.Time `json:"Created,omitempty"`
	Container       string           `json:"Container,omitempty"`
	ContainerConfig DockerConfig     `json:"ContainerConfig,omitempty"`
	DockerVersion   string           `json:"DockerVersion,omitempty"`
	Author          string           `json:"Author,omitempty"`
	Config          *DockerConfig    `json:"Config,omitempty"`
	Architecture    string           `json:"Architecture,omitempty"`
	Size            int64            `json:"Size,omitempty"`
}

DockerImage is the type representing a docker image and its various properties when retrieved from the Docker client API.

func (*DockerImage) GetObjectKind added in v1.1.3

func (obj *DockerImage) GetObjectKind() unversioned.ObjectKind

type DockerImageConfig added in v1.3.0

type DockerImageConfig struct {
	ID              string                `json:"id"`
	Parent          string                `json:"parent,omitempty"`
	Comment         string                `json:"comment,omitempty"`
	Created         unversioned.Time      `json:"created"`
	Container       string                `json:"container,omitempty"`
	ContainerConfig DockerConfig          `json:"container_config,omitempty"`
	DockerVersion   string                `json:"docker_version,omitempty"`
	Author          string                `json:"author,omitempty"`
	Config          *DockerConfig         `json:"config,omitempty"`
	Architecture    string                `json:"architecture,omitempty"`
	Size            int64                 `json:"size,omitempty"`
	RootFS          *DockerConfigRootFS   `json:"rootfs,omitempty"`
	History         []DockerConfigHistory `json:"history,omitempty"`
	OSVersion       string                `json:"os.version,omitempty"`
	OSFeatures      []string              `json:"os.features,omitempty"`
}

DockerImageConfig stores the image configuration

type DockerImageManifest

type DockerImageManifest struct {
	SchemaVersion int    `json:"schemaVersion"`
	MediaType     string `json:"mediaType,omitempty"`

	// schema1
	Name         string          `json:"name"`
	Tag          string          `json:"tag"`
	Architecture string          `json:"architecture"`
	FSLayers     []DockerFSLayer `json:"fsLayers"`
	History      []DockerHistory `json:"history"`

	// schema2
	Layers []Descriptor `json:"layers"`
	Config Descriptor   `json:"config"`
}

DockerImageManifest represents the Docker v2 image format.

type DockerImageReference

type DockerImageReference struct {
	Registry  string
	Namespace string
	Name      string
	Tag       string
	ID        string
}

DockerImageReference points to a Docker image.

func DockerImageReferenceForStream

func DockerImageReferenceForStream(stream *ImageStream) (DockerImageReference, error)

DockerImageReferenceForStream returns a DockerImageReference that represents the ImageStream or false, if no valid reference exists.

func ParseDockerImageReference

func ParseDockerImageReference(spec string) (DockerImageReference, error)

ParseDockerImageReference parses a Docker pull spec string into a DockerImageReference.

func (DockerImageReference) AsRepository added in v1.0.7

func (r DockerImageReference) AsRepository() DockerImageReference

AsRepository returns the reference without tags or IDs.

func (DockerImageReference) AsV2 added in v1.1.2

func (DockerImageReference) DaemonMinimal added in v1.0.7

func (r DockerImageReference) DaemonMinimal() DockerImageReference

DaemonMinimal clears defaults that Docker assumes.

func (DockerImageReference) DockerClientDefaults

func (r DockerImageReference) DockerClientDefaults() DockerImageReference

DockerClientDefaults sets the default values used by the Docker client.

func (DockerImageReference) Equal added in v1.1.1

Equal returns true if the other DockerImageReference is equivalent to the reference r. The comparison applies defaults to the Docker image reference, so that e.g., "foobar" equals "docker.io/library/foobar:latest".

func (DockerImageReference) Exact added in v1.0.7

func (r DockerImageReference) Exact() string

Exact returns a string representation of the set fields on the DockerImageReference

func (DockerImageReference) Minimal

Minimal reduces a DockerImageReference to its minimalist form.

func (DockerImageReference) MostSpecific added in v1.1.2

func (r DockerImageReference) MostSpecific() DockerImageReference

MostSpecific returns the most specific image reference that can be constructed from the current ref, preferring an ID over a Tag. Allows client code dealing with both tags and IDs to get the most specific reference easily.

func (DockerImageReference) NameString added in v1.0.5

func (r DockerImageReference) NameString() string

NameString returns the name of the reference with its tag or ID.

func (DockerImageReference) RegistryURL added in v1.1.2

func (r DockerImageReference) RegistryURL() *url.URL

RepositoryName returns the registry relative name

func (DockerImageReference) RepositoryName added in v1.1.2

func (r DockerImageReference) RepositoryName() string

RepositoryName returns the registry relative name

func (DockerImageReference) String

func (r DockerImageReference) String() string

String converts a DockerImageReference to a Docker pull spec (which implies a default namespace according to V1 Docker registry rules). Use Exact() if you want no defaulting.

type DockerV1CompatibilityImage

type DockerV1CompatibilityImage struct {
	ID              string           `json:"id"`
	Parent          string           `json:"parent,omitempty"`
	Comment         string           `json:"comment,omitempty"`
	Created         unversioned.Time `json:"created"`
	Container       string           `json:"container,omitempty"`
	ContainerConfig DockerConfig     `json:"container_config,omitempty"`
	DockerVersion   string           `json:"docker_version,omitempty"`
	Author          string           `json:"author,omitempty"`
	Config          *DockerConfig    `json:"config,omitempty"`
	Architecture    string           `json:"architecture,omitempty"`
	Size            int64            `json:"size,omitempty"`
}

DockerV1CompatibilityImage represents the structured v1 compatibility information.

type DockerV1CompatibilityImageSize added in v1.1.2

type DockerV1CompatibilityImageSize struct {
	Size int64 `json:"size,omitempty"`
}

DockerV1CompatibilityImageSize represents the structured v1 compatibility information for size

type Image

type Image struct {
	unversioned.TypeMeta
	kapi.ObjectMeta

	// The string that can be used to pull this image.
	DockerImageReference string
	// Metadata about this image
	DockerImageMetadata DockerImage
	// This attribute conveys the version of docker metadata the JSON should be stored in, which if empty defaults to "1.0"
	DockerImageMetadataVersion string
	// The raw JSON of the manifest
	DockerImageManifest string
	// DockerImageLayers represents the layers in the image. May not be set if the image does not define that data.
	DockerImageLayers []ImageLayer
	// Signatures holds all signatures of the image.
	Signatures []ImageSignature
	// DockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1.
	DockerImageSignatures [][]byte
	// DockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2.
	DockerImageManifestMediaType string
	// DockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2.
	DockerImageConfig string
}

Image is an immutable representation of a Docker image and metadata at a point in time.

func (*Image) GetObjectKind added in v1.1.3

func (obj *Image) GetObjectKind() unversioned.ObjectKind

type ImageImportSpec added in v1.1.2

type ImageImportSpec struct {
	From kapi.ObjectReference
	To   *kapi.LocalObjectReference

	ImportPolicy    TagImportPolicy
	IncludeManifest bool
}

ImageImportSpec defines how an image is imported.

type ImageImportStatus added in v1.1.2

type ImageImportStatus struct {
	Tag    string
	Status unversioned.Status
	Image  *Image
}

ImageImportStatus describes the result of an image import.

type ImageLayer added in v1.1.2

type ImageLayer struct {
	// Name of the layer as defined by the underlying store.
	Name string
	// LayerSize of the layer as defined by the underlying store.
	LayerSize int64
	// MediaType of the referenced object.
	MediaType string
}

ImageLayer represents a single layer of the image. Some images may have multiple layers. Some may have none.

type ImageList

type ImageList struct {
	unversioned.TypeMeta
	unversioned.ListMeta

	Items []Image
}

ImageList is a list of Image objects.

func (*ImageList) GetObjectKind added in v1.1.3

func (obj *ImageList) GetObjectKind() unversioned.ObjectKind

type ImageSignature added in v1.3.0

type ImageSignature struct {
	unversioned.TypeMeta
	kapi.ObjectMeta

	// Required: Describes a type of stored blob.
	Type string
	// Required: An opaque binary string which is an image's signature.
	Content []byte
	// Conditions represent the latest available observations of a signature's current state.
	Conditions []SignatureCondition

	// 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").
	ImageIdentity string
	// Contains claims from the signature.
	SignedClaims map[string]string
	// If specified, it is the time of signature's creation.
	Created *unversioned.Time
	// If specified, it holds information about an issuer of signing certificate or key (a person or entity
	// who signed the signing certificate or key).
	IssuedBy *SignatureIssuer
	// If specified, it holds information about a subject of signing certificate or key (a person or entity
	// who signed the image).
	IssuedTo *SignatureSubject
}

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.

func (*ImageSignature) GetObjectKind added in v1.3.0

func (obj *ImageSignature) GetObjectKind() unversioned.ObjectKind

type ImageStream

type ImageStream struct {
	unversioned.TypeMeta
	kapi.ObjectMeta

	// Spec describes the desired state of this stream
	Spec ImageStreamSpec
	// Status describes the current state of this stream
	Status ImageStreamStatus
}

ImageStream stores a mapping of tags to images, metadata overrides that are applied when images are tagged in a stream, and an optional reference to a Docker image repository on a registry.

func (*ImageStream) GetObjectKind added in v1.1.3

func (obj *ImageStream) GetObjectKind() unversioned.ObjectKind

type ImageStreamImage

type ImageStreamImage struct {
	unversioned.TypeMeta
	kapi.ObjectMeta

	// The Image associated with the ImageStream and image name.
	Image Image
}

ImageStreamImage represents an Image that is retrieved by image name from an ImageStream.

func (*ImageStreamImage) GetObjectKind added in v1.1.3

func (obj *ImageStreamImage) GetObjectKind() unversioned.ObjectKind

type ImageStreamImport added in v1.1.2

type ImageStreamImport struct {
	unversioned.TypeMeta
	// ObjectMeta must identify the name of the image stream to create or update. If resourceVersion
	// or UID are set, they must match the image stream that will be loaded from the server.
	kapi.ObjectMeta

	// Spec is the set of items desired to be imported
	Spec ImageStreamImportSpec
	// Status is the result of the import
	Status ImageStreamImportStatus
}

ImageStreamImport allows a caller to request information about a set of images for possible import into an image stream, or actually tag the images into the image stream.

func (*ImageStreamImport) GetObjectKind added in v1.1.3

func (obj *ImageStreamImport) GetObjectKind() unversioned.ObjectKind

type ImageStreamImportSpec added in v1.1.2

type ImageStreamImportSpec struct {
	// Import indicates whether to perform an import - if so, the specified tags are set on the spec
	// and status of the image stream defined by the type meta.
	Import bool
	// Repository is an optional import of an entire Docker image repository. A maximum limit on the
	// number of tags imported this way is imposed by the server.
	Repository *RepositoryImportSpec
	// Images are a list of individual images to import.
	Images []ImageImportSpec
}

ImageStreamImportSpec defines what images should be imported.

type ImageStreamImportStatus added in v1.1.2

type ImageStreamImportStatus struct {
	// Import is the image stream that was successfully updated or created when 'to' was set.
	Import *ImageStream
	// Repository is set if spec.repository was set to the outcome of the import
	Repository *RepositoryImportStatus
	// Images is set with the result of importing spec.images
	Images []ImageImportStatus
}

ImageStreamImportStatus contains information about the status of an image stream import.

type ImageStreamList

type ImageStreamList struct {
	unversioned.TypeMeta
	unversioned.ListMeta

	Items []ImageStream
}

ImageStreamList is a list of ImageStream objects.

func (*ImageStreamList) GetObjectKind added in v1.1.3

func (obj *ImageStreamList) GetObjectKind() unversioned.ObjectKind

type ImageStreamMapping

type ImageStreamMapping struct {
	unversioned.TypeMeta
	kapi.ObjectMeta

	// The Docker image repository the specified image is located in
	// DEPRECATED: remove once v1beta1 support is dropped
	// +k8s:conversion-gen=false
	DockerImageRepository string
	// A Docker image.
	Image Image
	// A string value this image can be located with inside the repository.
	Tag string
}

ImageStreamMapping represents a mapping from a single tag to a Docker image as well as the reference to the Docker image repository the image came from.

func (*ImageStreamMapping) GetObjectKind added in v1.1.3

func (obj *ImageStreamMapping) GetObjectKind() unversioned.ObjectKind

type ImageStreamSpec

type ImageStreamSpec struct {
	// Optional, if specified this stream is backed by a Docker repository on this server
	DockerImageRepository string
	// Tags map arbitrary string values to specific image locators
	Tags map[string]TagReference
}

ImageStreamSpec represents options for ImageStreams.

type ImageStreamStatus

type ImageStreamStatus struct {
	// DockerImageRepository represents the effective location this stream may be accessed at. May be empty until the server
	// determines where the repository is located
	DockerImageRepository string
	// A historical record of images associated with each tag. The first entry in the TagEvent array is
	// the currently tagged image.
	Tags map[string]TagEventList
}

ImageStreamStatus contains information about the state of this image stream.

type ImageStreamTag

type ImageStreamTag struct {
	unversioned.TypeMeta
	kapi.ObjectMeta

	// Tag is the spec tag associated with this image stream tag, and it may be null
	// if only pushes have occurred to this image stream.
	Tag *TagReference

	// Generation is the current generation of the tagged image - if tag is provided
	// and this value is not equal to the tag generation, a user has requested an
	// import that has not completed, or Conditions will be filled out indicating any
	// error.
	Generation int64

	// Conditions is an array of conditions that apply to the image stream tag.
	Conditions []TagEventCondition

	// The Image associated with the ImageStream and tag.
	Image Image
}

ImageStreamTag has a .Name in the format <stream name>:<tag>.

func (*ImageStreamTag) GetObjectKind added in v1.1.3

func (obj *ImageStreamTag) GetObjectKind() unversioned.ObjectKind

type ImageStreamTagList added in v1.0.8

type ImageStreamTagList struct {
	unversioned.TypeMeta
	unversioned.ListMeta

	Items []ImageStreamTag
}

ImageStreamTagList is a list of ImageStreamTag objects.

func (*ImageStreamTagList) GetObjectKind added in v1.1.3

func (obj *ImageStreamTagList) GetObjectKind() unversioned.ObjectKind

type RepositoryImportSpec added in v1.1.2

type RepositoryImportSpec struct {
	// The source of the import, only kind DockerImage is supported
	From kapi.ObjectReference

	ImportPolicy    TagImportPolicy
	IncludeManifest bool
}

RepositoryImport indicates to load a set of tags from a given Docker image repository

type RepositoryImportStatus added in v1.1.2

type RepositoryImportStatus struct {
	// Status reflects whether any failure occurred during import
	Status unversioned.Status
	// Images is the list of imported images
	Images []ImageImportStatus
	// AdditionalTags are tags that exist in the repository but were not imported because
	// a maximum limit of automatic imports was applied.
	AdditionalTags []string
}

RepositoryImportStatus describes the outcome of the repository import

type SignatureCondition added in v1.3.0

type SignatureCondition struct {
	// Type of signature condition, Complete or Failed.
	Type SignatureConditionType
	// Status of the condition, one of True, False, Unknown.
	Status kapi.ConditionStatus
	// Last time the condition was checked.
	LastProbeTime unversioned.Time
	// Last time the condition transit from one status to another.
	LastTransitionTime unversioned.Time
	// (brief) reason for the condition's last transition.
	Reason string
	// Human readable message indicating details about last transition.
	Message string
}

SignatureCondition describes an image signature condition of particular kind at particular probe time.

type SignatureConditionType added in v1.3.0

type SignatureConditionType string

/ SignatureConditionType is a type of image signature condition.

type SignatureGenericEntity added in v1.3.0

type SignatureGenericEntity struct {
	// Organization name.
	Organization string
	// Common name (e.g. openshift-signing-service).
	CommonName string
}

SignatureGenericEntity holds a generic information about a person or entity who is an issuer or a subject of signing certificate or key.

type SignatureIssuer added in v1.3.0

type SignatureIssuer struct {
	SignatureGenericEntity
}

SignatureIssuer holds information about an issuer of signing certificate or key.

type SignatureSubject added in v1.3.0

type SignatureSubject struct {
	SignatureGenericEntity
	// 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).
	PublicKeyID string
}

SignatureSubject holds information about a person or entity who created the signature.

type TagEvent

type TagEvent struct {
	// When the TagEvent was created
	Created unversioned.Time
	// The string that can be used to pull this image
	DockerImageReference string
	// The image
	Image string
	// Generation is the spec tag generation that resulted in this tag being updated
	Generation int64
}

TagEvent is used by ImageRepositoryStatus to keep a historical record of images associated with a tag.

func LatestImageTagEvent added in v1.5.0

func LatestImageTagEvent(stream *ImageStream, imageID string) (string, *TagEvent)

LatestImageTagEvent returns the most recent TagEvent and the tag for the specified image.

func LatestTaggedImage

func LatestTaggedImage(stream *ImageStream, tag string) *TagEvent

LatestTaggedImage returns the most recent TagEvent for the specified image repository and tag. Will resolve lookups for the empty tag. Returns nil if tag isn't present in stream.status.tags.

func ResolveImageID

func ResolveImageID(stream *ImageStream, imageID string) (*TagEvent, error)

ResolveImageID returns latest TagEvent for specified imageID and an error if there's more than one image matching the ID or when one does not exist.

type TagEventCondition added in v1.1.2

type TagEventCondition struct {
	// Type of tag event condition, currently only ImportSuccess
	Type TagEventConditionType
	// Status of the condition, one of True, False, Unknown.
	Status kapi.ConditionStatus
	// LastTransitionTIme is the time the condition transitioned from one status to another.
	LastTransitionTime unversioned.Time
	// Reason is a brief machine readable explanation for the condition's last transition.
	Reason string
	// Message is a human readable description of the details about last transition, complementing reason.
	Message string
	// Generation is the spec tag generation that this status corresponds to. If this value is
	// older than the spec tag generation, the user has requested this status tag be updated.
	// This value is set to zero for older versions of streams, which means that no generation
	// was recorded.
	Generation int64
}

TagEventCondition contains condition information for a tag event.

type TagEventConditionType added in v1.1.2

type TagEventConditionType string
const (
	// ImportSuccess with status False means the import of the specific tag failed
	ImportSuccess TagEventConditionType = "ImportSuccess"
)

These are valid conditions of TagEvents.

type TagEventList

type TagEventList struct {
	Items []TagEvent
	// Conditions is an array of conditions that apply to the tag event list.
	Conditions []TagEventCondition
}

TagEventList contains a historical record of images associated with a tag.

type TagImportPolicy added in v1.1.2

type TagImportPolicy struct {
	// Insecure is true if the server may bypass certificate verification or connect directly over HTTP during image import.
	Insecure bool
	// Scheduled indicates to the server that this tag should be periodically checked to ensure it is up to date, and imported
	Scheduled bool
}

type TagReference

type TagReference struct {
	// Name of the tag
	Name string
	// Optional; if specified, annotations that are applied to images retrieved via ImageStreamTags.
	Annotations map[string]string
	// Optional; if specified, a reference to another image that this tag should point to. Valid values
	// are ImageStreamTag, ImageStreamImage, and DockerImage.
	From *kapi.ObjectReference
	// Reference states if the tag will be imported. Default value is false, which means the tag will
	// be imported.
	Reference bool
	// 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
	// ImportPolicy is information that controls how images may be imported by the server.
	ImportPolicy TagImportPolicy
	// ReferencePolicy defines how other components should consume the image
	ReferencePolicy TagReferencePolicy
}

TagReference specifies optional annotations for images using this tag and an optional reference to an ImageStreamTag, ImageStreamImage, or DockerImage this tag should track.

func FollowTagReference added in v1.1.2

func FollowTagReference(stream *ImageStream, tag string) (finalTag string, ref *TagReference, ok bool, multiple bool)

FollowTagReference walks through the defined tags on a stream, following any referential tags in the stream. Will return ok if the tag is valid, multiple if the tag had at least reference, and ref and finalTag will be the last tag seen. If a circular loop is found ok will be false.

func (TagReference) HasAnnotationTag added in v1.5.0

func (tagref TagReference) HasAnnotationTag(searchTag string) bool

type TagReferencePolicy added in v1.5.0

type TagReferencePolicy struct {
	// 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 `Source`, indicating the original
	// location of the image should be used (if imported). The user may also specify `Local`, indicating
	// that the pull spec should point to the integrated Docker registry and leverage the registry's
	// ability to proxy the pull to an upstream registry. `Local` allows the credentials used to pull this
	// image to be managed from the image stream's namespace, so others on the platform can access a remote
	// image but have no access to the remote secret. It also allows the image layers to be mirrored into
	// the local registry which the images can still be pulled even if the upstream registry is unavailable.
	Type TagReferencePolicyType
}

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 TagReferencePolicyType added in v1.5.0

type TagReferencePolicyType string

TagReferencePolicyType describes how pull-specs for images in an image stream tag are generated when image change triggers are fired.

const (
	// SourceTagReferencePolicy indicates the image's original location should be used when the image stream tag
	// is resolved into other resources (builds and deployment configurations).
	SourceTagReferencePolicy TagReferencePolicyType = "Source"
	// LocalTagReferencePolicy indicates the image should prefer to pull via the local integrated registry,
	// falling back to the remote location if the integrated registry has not been configured. The reference will
	// use the internal DNS name or registry service IP.
	LocalTagReferencePolicy TagReferencePolicyType = "Local"
)

Directories

Path Synopsis
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL