Documentation ¶
Index ¶
- Constants
- func DeserializeImageStream(data []byte) (*imageapi.ImageStream, error)
- type CachedProvider
- type ComponentVersion
- type ComponentVersions
- type CoreOSAWSImage
- type CoreOSAWSImages
- type CoreOSArchitecture
- type CoreOSArtifact
- type CoreOSFormat
- type CoreOSImages
- type CoreOSStreamMetadata
- type PodProvider
- type Provider
- type RegistryClientProvider
- type ReleaseImage
- type StaticProviderDecorator
Constants ¶
const ( ReleaseImageStreamFile = "release-manifests/image-references" ReleaseImageMetadataFile = "release-manifests/0000_50_installer_coreos-bootimages.yaml" )
Variables ¶
This section is empty.
Functions ¶
func DeserializeImageStream ¶
func DeserializeImageStream(data []byte) (*imageapi.ImageStream, error)
Types ¶
type CachedProvider ¶
type CachedProvider struct { Cache map[string]*ReleaseImage Inner Provider // contains filtered or unexported fields }
CachedProvider maintains a simple cache of release image info and only queries the embedded provider when there is no cache hit.
func (*CachedProvider) Lookup ¶
func (p *CachedProvider) Lookup(ctx context.Context, image string, pullSecret []byte) (releaseImage *ReleaseImage, err error)
type ComponentVersion ¶
ComponentVersion includes the version and optional display name.
func (ComponentVersion) String ¶
func (v ComponentVersion) String() string
String returns the version of this component.
type ComponentVersions ¶
type ComponentVersions map[string]ComponentVersion
ComponentVersions is a map of component names to semantic versions. Names are lowercase alphanumeric and dashes. Semantic versions will have all build labels removed, but prerelease segments are preserved.
func (ComponentVersions) DisplayNameLabel ¶
func (v ComponentVersions) DisplayNameLabel() string
DisplayNameLabel formats the ComponentVersions into a valid display name label.
func (ComponentVersions) OrderedKeys ¶
func (v ComponentVersions) OrderedKeys() []string
OrderedKeys returns the keys in this map in lexigraphic order.
func (ComponentVersions) String ¶
func (v ComponentVersions) String() string
func (ComponentVersions) VersionLabel ¶
func (v ComponentVersions) VersionLabel() string
VersionLabel formats the ComponentVersions into a valid versions label.
type CoreOSAWSImage ¶
type CoreOSAWSImages ¶
type CoreOSAWSImages struct {
Regions map[string]CoreOSAWSImage `json:"regions"`
}
type CoreOSArchitecture ¶
type CoreOSArchitecture struct { // Artifacts is a map of platform name to Artifacts Artifacts map[string]CoreOSArtifact `json:"artifacts"` Images CoreOSImages `json:"images"` }
type CoreOSArtifact ¶
type CoreOSArtifact struct { Release string `json:"release"` Formats map[string]map[string]CoreOSFormat `json:"formats"` }
type CoreOSFormat ¶
type CoreOSImages ¶
type CoreOSImages struct {
AWS CoreOSAWSImages `json:"aws"`
}
type CoreOSStreamMetadata ¶
type CoreOSStreamMetadata struct { Stream string `json:"stream"` Architectures map[string]CoreOSArchitecture `json:"architectures"` }
func DeserializeImageMetadata ¶
func DeserializeImageMetadata(data []byte) (*CoreOSStreamMetadata, error)
type PodProvider ¶
type PodProvider struct { Pods v1.PodInterface Secrets v1.SecretInterface }
PodProvider finds the release image metadata for an image by launching a pod using the image and extracting the serialized ImageStream from the image filesystem assumed to be present at /release-manifests/image-references.
func (*PodProvider) Lookup ¶
func (p *PodProvider) Lookup(ctx context.Context, image string, pullSecret []byte) (releaseImage *ReleaseImage, err error)
type Provider ¶
type Provider interface {
Lookup(ctx context.Context, image string, pullSecret []byte) (*ReleaseImage, error)
}
Provider knows how to find the release image metadata for an image referred to by its pullspec.
type RegistryClientProvider ¶
type RegistryClientProvider struct { }
RegistryClientProvider uses a registry client to directly stream image content and extract image metadata.
func (*RegistryClientProvider) Lookup ¶
func (p *RegistryClientProvider) Lookup(ctx context.Context, image string, pullSecret []byte) (releaseImage *ReleaseImage, err error)
type ReleaseImage ¶
type ReleaseImage struct { *imageapi.ImageStream `json:",inline"` StreamMetadata *CoreOSStreamMetadata `json:"streamMetadata"` }
ReleaseImage wraps an ImageStream with some utilities that help the user discover constituent component image information.
func (*ReleaseImage) ComponentImages ¶
func (i *ReleaseImage) ComponentImages() map[string]string
func (*ReleaseImage) ComponentVersions ¶
func (i *ReleaseImage) ComponentVersions() (map[string]string, error)
func (*ReleaseImage) Version ¶
func (i *ReleaseImage) Version() string
type StaticProviderDecorator ¶
type StaticProviderDecorator struct { Delegate Provider ComponentImages map[string]string // contains filtered or unexported fields }
StaticProviderDecorator decorates another Provider to add user-specified component name to image mappings. The Lookup implementation will first delegate to the given Delegate, and will then add additional TagReferences to the Delegate's results based on the ComponentImages.
func (*StaticProviderDecorator) Lookup ¶
func (p *StaticProviderDecorator) Lookup(ctx context.Context, image string, pullSecret []byte) (*ReleaseImage, error)