Documentation
¶
Overview ¶
Package stream models a CoreOS "stream", which is a description of the recommended set of binary images for CoreOS. Use this API to find cloud images, bare metal disk images, etc.
Index ¶
- type Arch
- type Artifact
- type AwsImage
- type AwsRegionImage
- type ContainerImage
- type GcpImage
- type ImageFormat
- type Images
- type Metadata
- type PlatformArtifacts
- type RegionImage
- type RegionObject
- type ReplicatedImage
- type ReplicatedObject
- type SingleImage
- type SingleObject
- type Stream
- func (st *Stream) FormatPrefix(archname string) string
- func (st *Stream) GetAMI(archname, region string) (string, error)
- func (st *Stream) GetAliyunImage(archname, region string) (string, error)
- func (st *Stream) GetAliyunRegionImage(archname, region string) (*SingleImage, error)
- func (st *Stream) GetArchitecture(archname string) (*Arch, error)
- func (st *Stream) GetAwsRegionImage(archname, region string) (*SingleImage, error)
- func (st *Stream) QueryDisk(architectureName, artifactName, formatName string) (*Artifact, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Arch ¶
type Arch struct {
Artifacts map[string]PlatformArtifacts `json:"artifacts"`
Images Images `json:"images,omitempty"`
// RHELCoreOSExtensions is data specific to Red Hat Enterprise Linux CoreOS
RHELCoreOSExtensions *rhcos.Extensions `json:"rhel-coreos-extensions,omitempty"`
}
Arch contains release details for a particular hardware architecture
type Artifact ¶
type Artifact struct {
Location string `json:"location"`
Signature string `json:"signature,omitempty"`
Sha256 string `json:"sha256"`
UncompressedSha256 string `json:"uncompressed-sha256,omitempty"`
}
Artifact represents one image file, plus its metadata
func (*Artifact) Download ¶
Download fetches the specified artifact and saves it to the target directory. The full file path will be returned as a string. If the target file path exists, it will be overwritten. If the download fails, the temporary file will be deleted.
type AwsRegionImage ¶
type AwsRegionImage = SingleImage
AwsRegionImage is a typedef for backwards compatibility.
type ContainerImage ¶ added in v0.3.0
type ContainerImage struct {
Release string `json:"release"`
// Preferred way to reference the image, which might be by tag or digest
Image string `json:"image"`
DigestRef string `json:"digest-ref"`
}
ContainerImage represents a tagged container image
type GcpImage ¶
type GcpImage struct {
Release string `json:"release"`
Project string `json:"project"`
Family string `json:"family,omitempty"`
Name string `json:"name"`
}
GcpImage represents a GCP cloud image
type ImageFormat ¶
type ImageFormat struct {
Disk *Artifact `json:"disk,omitempty"`
Kernel *Artifact `json:"kernel,omitempty"`
Initramfs *Artifact `json:"initramfs,omitempty"`
Rootfs *Artifact `json:"rootfs,omitempty"`
}
ImageFormat contains all artifacts for a single OS image
type Images ¶
type Images struct {
Aliyun *ReplicatedImage `json:"aliyun,omitempty"`
Aws *AwsImage `json:"aws,omitempty"`
Gcp *GcpImage `json:"gcp,omitempty"`
Ibmcloud *ReplicatedObject `json:"ibmcloud,omitempty"`
KubeVirt *ContainerImage `json:"kubevirt,omitempty"`
PowerVS *ReplicatedObject `json:"powervs,omitempty"`
}
Images contains images available in cloud providers
type Metadata ¶
type Metadata struct {
LastModified string `json:"last-modified"`
Generator string `json:"generator,omitempty"`
}
Metadata for a release or stream
type PlatformArtifacts ¶
type PlatformArtifacts struct {
Release string `json:"release"`
Formats map[string]ImageFormat `json:"formats"`
}
PlatformArtifacts contains images for a platform
type RegionImage ¶ added in v0.1.2
type RegionImage = SingleImage
RegionImage is a typedef for backwards compatibility.
type RegionObject ¶ added in v0.1.5
type RegionObject = SingleObject
RegionObject is a typedef for backwards compatibility.
type ReplicatedImage ¶ added in v0.1.2
type ReplicatedImage struct {
Regions map[string]SingleImage `json:"regions,omitempty"`
}
ReplicatedImage represents an image in all regions of an AWS-like cloud
type ReplicatedObject ¶ added in v0.1.5
type ReplicatedObject struct {
Regions map[string]SingleObject `json:"regions,omitempty"`
}
ReplicatedObject represents an object in all regions of an IBMCloud-like cloud
type SingleImage ¶ added in v0.2.0
SingleImage represents a globally-accessible image or an image in a single region of an AWS-like cloud
type SingleObject ¶ added in v0.2.0
type SingleObject struct {
Release string `json:"release"`
Object string `json:"object"`
Bucket string `json:"bucket"`
Url string `json:"url"`
}
SingleObject represents a globally-accessible cloud storage object, or an object in a single region of an IBMCloud-like cloud
type Stream ¶
type Stream struct {
Stream string `json:"stream"`
Metadata Metadata `json:"metadata"`
Architectures map[string]Arch `json:"architectures"`
}
Stream contains artifacts available in a stream
func (*Stream) FormatPrefix ¶
FormatPrefix describes a stream+architecture combination, intended for prepending to error messages
func (*Stream) GetAMI ¶
GetAMI returns the AWS machine image for a particular architecture and region.
func (*Stream) GetAliyunImage ¶ added in v0.1.2
GetAliyunImage returns the Aliyun image for a particular architecture and region.
func (*Stream) GetAliyunRegionImage ¶ added in v0.1.2
func (st *Stream) GetAliyunRegionImage(archname, region string) (*SingleImage, error)
GetAliyunRegionImage returns the release data (Image ID and release ID) for a particular architecture and region.
func (*Stream) GetArchitecture ¶
GetArchitecture loads the architecture-specific builds from a stream, with a useful descriptive error message if the architecture is not found.
func (*Stream) GetAwsRegionImage ¶
func (st *Stream) GetAwsRegionImage(archname, region string) (*SingleImage, error)
GetAwsRegionImage returns the release data (AMI and release ID) for a particular architecture and region.