Documentation ¶
Index ¶
- Constants
- Variables
- func AssembleReleaseStep(name, nodeName string, config *api.ReleaseTagConfiguration, ...) api.Step
- func ImportReleaseStep(name, nodeName, target string, source ReleaseSource, append bool, ...) api.Step
- func PromotedTags(configuration *api.ReleaseBuildConfiguration) []api.ImageStreamTagReference
- func PromotedTagsWithRequiredImages(configuration *api.ReleaseBuildConfiguration, options ...PromotedTagsOption) (map[string][]api.ImageStreamTagReference, sets.Set[string])
- func PromotionStep(name string, configuration *api.ReleaseBuildConfiguration, ...) api.Step
- func ReleaseImagesTagStep(config api.ReleaseTagConfiguration, client loggingclient.LoggingClient, ...) api.Step
- func ReleaseSnapshotStep(release string, config api.Integration, client loggingclient.LoggingClient, ...) api.Step
- func StableImagesTagStep(client loggingclient.LoggingClient, jobSpec *api.JobSpec) api.Step
- type PromotedTagsOption
- type PromotedTagsOptions
- type ReleaseSource
Constants ¶
const (
Label = "ci.openshift.io/release"
)
Variables ¶
var NilIntegratedStreamError = errors.New("step snapshot an integrated stream without resolving required information")
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, integratedStream *configresolver.IntegratedStream) api.Step
func ReleaseSnapshotStep ¶
func ReleaseSnapshotStep(release string, config api.Integration, client loggingclient.LoggingClient, jobSpec *api.JobSpec, integratedStream *configresolver.IntegratedStream) 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