Version: v1.2.4 Latest Latest

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

Go to latest
Published: Aug 27, 2020 License: Apache-2.0 Imports: 14 Imported by: 0



This package is for maintaining the link between `HelmRelease` resources and the Helm releases to which they correspond. Specifically,

1. updating the `HelmRelease` status based on the progress of
  syncing, and the state of the associated Helm release; and,

2. attributing each resource in a Helm release (under our control) to
the associated `HelmRelease`.



View Source
const (
	LabelTargetNamespace = "target_namespace"
	LabelReleaseName     = "release_name"
	LabelCondition       = "condition"


Clock is defined as a var so it can be stubbed during tests.


func ConditionsForPhase

func ConditionsForPhase(hr *v1.HelmRelease, phase v1.HelmReleasePhase) ([]v1.HelmReleaseCondition, bool)

ConditionsForPhrase returns conditions for the given phase.

func GetCondition

func GetCondition(status v1.HelmReleaseStatus, conditionType v1.HelmReleaseConditionType) *v1.HelmReleaseCondition

func HasRolledBack

func HasRolledBack(hr *v1.HelmRelease) bool

HasRolledBack returns if the current generation of the HelmRelease has been rolled back.

func HasSynced

func HasSynced(hr *v1.HelmRelease) bool

HasSynced returns if the HelmRelease has been processed by the controller.

func ObserveReleaseConditions

func ObserveReleaseConditions(old *v1.HelmRelease, new *v1.HelmRelease)

func SetConditions

func SetConditions(client v1client.HelmReleaseInterface, hr *v1.HelmRelease, conditions []v1.HelmReleaseCondition, setters ...func(*v1.HelmRelease)) error

func SetObservedGeneration

func SetObservedGeneration(client v1client.HelmReleaseInterface, hr *v1.HelmRelease, generation int64) error

SetObservedGeneration updates the observed generation status of the HelmRelease to the given generation.

func SetReleaseRevision

func SetReleaseRevision(client v1client.HelmReleaseInterface, hr *v1.HelmRelease, revision string) error

SetReleaseRevision updates the revision in the status of the HelmRelease to the given revision, and sets the current revision as the previous one.

func SetReleaseStatus

func SetReleaseStatus(client v1client.HelmReleaseInterface, hr *v1.HelmRelease,
	releaseName, releaseStatus string) error

SetReleaseStatus updates the status of the HelmRelease to the given release name and/or release status.

func SetStatusPhase

func SetStatusPhase(client v1client.HelmReleaseInterface, hr *v1.HelmRelease, phase v1.HelmReleasePhase, setters ...func(*v1.HelmRelease)) error

func SetStatusPhaseWithRevision

func SetStatusPhaseWithRevision(client v1client.HelmReleaseInterface, hr *v1.HelmRelease, phase v1.HelmReleasePhase, revision string) error

func ShouldRetryUpgrade

func ShouldRetryUpgrade(hr *v1.HelmRelease) bool

ShouldRetryUpgrade returns if the upgrade of a rolled back release should be retried.


type Updater

type Updater struct {
	// contains filtered or unexported fields

func New

func New(hrClient ifclientset.Interface, hrLister iflister.HelmReleaseLister, helmClients *helm.Clients, defaultHelmVersion string) *Updater

func (*Updater) Loop

func (u *Updater) Loop(stop <-chan struct{}, interval time.Duration, logger log.Logger)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL