promotionreconciler

package
v0.0.0-...-7b107d7 Latest Latest
Warning

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

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

README

Promotion reconciler

This controller is responsible for making sure that promotions happen, even if the promotion job fails for whatever reason.

To do so it:

  • Watches Images (As ImageStreamTags do not support watching)
  • Finds the corresponding promotion job or returns
  • Checks if the ImageStreamTag was build from the latest revision in the given repo+branch
  • If not: Enqueues a request onto the prowjobreconciler
  • The prowjobreconciler then checks if there is currently an active prowjob for this revision and if not, creates one.

The two reconciler approach was chosen because in most cases, we build many ImageStreamTags from one ProwJob but we need to react to ImageStreamTags. Using this approach allows us to de-duplicate requests for the same ProwJob and hence to avoid creating one per ImageStreamTag it promotes to.

Documentation

Index

Constants

View Source
const ControllerName = "promotionreconciler"

Variables

This section is empty.

Functions

func AddToManager

func AddToManager(mgr controllerruntime.Manager, opts Options) error

Types

type Options

type Options struct {
	DryRun                bool
	CIOperatorConfigAgent agents.ConfigAgent
	ConfigGetter          config.Getter
	GitHubClient          github.Client
	// The registryManager is set up to talk to the cluster
	// that contains our imageRegistry. This cluster is
	// most likely not the one the normal manager talks to.
	RegistryManager controllerruntime.Manager

	IgnoredImageStreams []*regexp.Regexp
	Since               time.Duration
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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