release

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2022 License: Apache-2.0 Imports: 3 Imported by: 5

Documentation

Overview

Package release contains APIs for interacting with a particular "release". Avoid this unless you are sure you need it. It's expected that CoreOS users interact with streams instead.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Arch

type Arch struct {
	Commit               string               `json:"commit"`
	Media                Media                `json:"media"`
	RHELCoreOSExtensions *relrhcos.Extensions `json:"rhel-coreos-extensions,omitempty"`
}

Arch release details

type Artifact

type Artifact struct {
	Location           string `json:"location"`
	Signature          string `json:"signature"`
	Sha256             string `json:"sha256"`
	UncompressedSha256 string `json:"uncompressed-sha256,omitempty"`
}

Artifact represents one image file, plus its metadata

type CloudImage

type CloudImage struct {
	Image string `json:"image"`
}

CloudImage generic image detail

type GcpImage

type GcpImage struct {
	Project string `json:"project"`
	Family  string `json:"family,omitempty"`
	Name    string `json:"name"`
}

GcpImage represents a GCP cloud image

type IBMCloudImage added in v0.1.5

type IBMCloudImage struct {
	Object string `json:"object"`
	Bucket string `json:"bucket"`
	Url    string `json:"url"`
}

IBMCloudImage represents an IBMCloud/PowerVS cloud object - which is an ova image for PowerVS and a qcow for IBMCloud in the cloud object storage bucket

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 Index

type Index struct {
	Note     string         `json:"note"` // used to note to users not to consume the release metadata index
	Releases []IndexRelease `json:"releases"`
	Metadata Metadata       `json:"metadata"`
	Stream   string         `json:"stream"`
}

Index models the release index: https://github.com/coreos/fedora-coreos-tracker/tree/main/metadata/release-index

type IndexRelease

type IndexRelease struct {
	Commits     []IndexReleaseCommit `json:"commits"`
	Version     string               `json:"version"`
	MetadataURL string               `json:"metadata"`
}

IndexRelease is a "release pointer" from a release index

type IndexReleaseCommit

type IndexReleaseCommit struct {
	Architecture string `json:"architecture"`
	Checksum     string `json:"checksum"`
}

IndexReleaseCommit describes an ostree commit plus architecture

type Media

type Media struct {
	Aliyun       *PlatformAliyun   `json:"aliyun"`
	Aws          *PlatformAws      `json:"aws"`
	Azure        *PlatformBase     `json:"azure"`
	AzureStack   *PlatformBase     `json:"azurestack"`
	Digitalocean *PlatformBase     `json:"digitalocean"`
	Exoscale     *PlatformBase     `json:"exoscale"`
	Gcp          *PlatformGcp      `json:"gcp"`
	Ibmcloud     *PlatformIBMCloud `json:"ibmcloud"`
	KubeVirt     *PlatformKubeVirt `json:"kubevirt"`
	Metal        *PlatformBase     `json:"metal"`
	Nutanix      *PlatformBase     `json:"nutanix"`
	Openstack    *PlatformBase     `json:"openstack"`
	PowerVS      *PlatformIBMCloud `json:"powervs"`
	Qemu         *PlatformBase     `json:"qemu"`
	VirtualBox   *PlatformBase     `json:"virtualbox"`
	Vmware       *PlatformBase     `json:"vmware"`
	Vultr        *PlatformBase     `json:"vultr"`
}

Media contains release details for various platforms

type Metadata

type Metadata struct {
	LastModified string `json:"last-modified"`
}

Metadata is common metadata that contains last-modified

type PlatformAliyun added in v0.1.2

type PlatformAliyun struct {
	PlatformBase
	Images map[string]CloudImage `json:"images"`
}

PlatformAliyun contains Aliyun image information

type PlatformAws

type PlatformAws struct {
	PlatformBase
	Images map[string]CloudImage `json:"images"`
}

PlatformAws contains AWS image information

type PlatformBase

type PlatformBase struct {
	Artifacts map[string]ImageFormat `json:"artifacts"`
}

PlatformBase with no cloud images

type PlatformGcp

type PlatformGcp struct {
	PlatformBase
	Image *GcpImage `json:"image"`
}

PlatformGcp GCP image detail

type PlatformIBMCloud added in v0.1.5

type PlatformIBMCloud struct {
	PlatformBase
	Images map[string]IBMCloudImage `json:"images"`
}

PlatformIBMCloud IBMCloud/PowerVS image detail

type PlatformKubeVirt added in v0.1.8

type PlatformKubeVirt struct {
	PlatformBase
	Image *CloudImage `json:"image"`
}

PlatformKubeVirt containerDisk metadata

type Release

type Release struct {
	Release       string          `json:"release"`
	Stream        string          `json:"stream"`
	Metadata      Metadata        `json:"metadata"`
	Architectures map[string]Arch `json:"architectures"`
}

Release contains details from release.json

func (*Release) ToStreamArchitectures

func (rel *Release) ToStreamArchitectures() map[string]stream.Arch

ToStreamArchitectures converts a release to a stream

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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