release

package
v0.0.0-...-5f5fad8 Latest Latest
Warning

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

Go to latest
Published: Apr 11, 2024 License: Apache-2.0 Imports: 38 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Label = "ci.openshift.io/release"
)

Variables

This section is empty.

Functions

func AssembleReleaseStep

func AssembleReleaseStep(name, nodeName string, config *api.ReleaseTagConfiguration, resources api.ResourceConfiguration,
	client kubernetes.PodClient, jobSpec *api.JobSpec) api.Step

AssembleReleaseStep builds a new update payload image based on the cluster version operator and the operators defined in the release configuration.

func ImportReleaseStep

func ImportReleaseStep(
	name, nodeName, target string,
	source ReleaseSource,
	append bool,
	resources api.ResourceConfiguration,
	client kubernetes.PodClient,
	jobSpec *api.JobSpec,
	pullSecret *coreapi.Secret,
	overrideCLIReleaseExtractImage *coreapi.ObjectReference) api.Step

ImportReleaseStep imports an existing update payload image

func PromotedTags

func PromotedTags(configuration *api.ReleaseBuildConfiguration) []api.ImageStreamTagReference

PromotedTags returns the tags that are being promoted for the given ReleaseBuildConfiguration

func PromotedTagsWithRequiredImages

func PromotedTagsWithRequiredImages(configuration *api.ReleaseBuildConfiguration, options ...PromotedTagsOption) (map[string][]api.ImageStreamTagReference, sets.Set[string])

PromotedTagsWithRequiredImages returns the tags that are being promoted for the given ReleaseBuildConfiguration accounting for the list of required images. Promoted tags are mapped by the source tag in the pipeline ImageStream we will promote to the output.

func PromotionStep

func PromotionStep(
	name string,
	configuration *api.ReleaseBuildConfiguration,
	requiredImages sets.Set[string],
	jobSpec *api.JobSpec,
	client kubernetes.PodClient,
	pushSecret *coreapi.Secret,
	registry string,
	mirrorFunc func(source, target string, tag api.ImageStreamTagReference, date string, imageMirror map[string]string),
	targetNameFunc func(string, api.PromotionTarget) string,
	nodeArchitectures []string,
) api.Step

PromotionStep copies tags from the pipeline image stream to the destination defined in the promotion config. If the source tag does not exist it is silently skipped.

func ReleaseImagesTagStep

func ReleaseImagesTagStep(config api.ReleaseTagConfiguration, client loggingclient.LoggingClient, params *api.DeferredParameters, jobSpec *api.JobSpec) api.Step

func ReleaseSnapshotStep

func ReleaseSnapshotStep(release string, config api.Integration, client loggingclient.LoggingClient, jobSpec *api.JobSpec) api.Step

func StableImagesTagStep

func StableImagesTagStep(client loggingclient.LoggingClient, jobSpec *api.JobSpec) api.Step

Types

type PromotedTagsOption

type PromotedTagsOption func(options *PromotedTagsOptions)

func WithCommitSha

func WithCommitSha(commitSha string) PromotedTagsOption

WithCommitSha ensures that images are tagged by the commit SHA as well as any other options in the configuration.

func WithRequiredImages

func WithRequiredImages(images sets.Set[string]) PromotedTagsOption

WithRequiredImages ensures that the images are promoted, even if they would otherwise be skipped.

type PromotedTagsOptions

type PromotedTagsOptions struct {
	// contains filtered or unexported fields
}

type ReleaseSource

type ReleaseSource interface {
	// Input provides the value for the `Inputs` method of steps
	// The return value may be empty if the pull-spec should not contribute to
	// the input.
	Input(ctx context.Context) (string, error)
	// PullSpec resolves the release pull-spec (if necessary) and returns it
	PullSpec(ctx context.Context) (string, error)
}

ReleaseSource holds information to resolve a release pull-spec This is used to defer resolution in some cases until after a release is known to be required, based on the pruned step graph. This structure holds the required configuration and clients until then.

func NewReleaseSourceFromClusterClaim

func NewReleaseSourceFromClusterClaim(
	name string,
	claim *api.ClusterClaim,
	hiveClient ctrlruntimeclient.WithWatch,
) ReleaseSource

NewReleaseSourceFromClusterClaim determines the pull-spec for a cluster pool

func NewReleaseSourceFromConfig

func NewReleaseSourceFromConfig(
	config *api.ReleaseConfiguration,
	httpClient release.HTTPClient,
) ReleaseSource

NewReleaseSourceFromConfig uses the pull-spec of a published release payload

func NewReleaseSourceFromPullSpec

func NewReleaseSourceFromPullSpec(s string) ReleaseSource

NewReleaseSourceFromPullSpec creates a fixed, pre-computed source

Jump to

Keyboard shortcuts

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