cross

package
v0.20.2 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetReleaseDisplayVersion

func GetReleaseDisplayVersion(rel *v1alpha1.Release, inSync bool) string

Types

type Release

type Release struct {
	// Name is the name of the release.
	Name string

	// Releases is the list of releases for a given release name across multiple environments.
	Releases []*v1alpha1.Release

	// PromotedFile is the merged file for release from source to target environment, assuming the only environments
	// are respectively source and target. If merged result is same as target, then no promotion is needed and
	// PromotedFile is nil. This must be explicitly computed via ComputePromotedFile().
	PromotedFile *yml.File
}

Release describes a given release across multiple environments

func NewRelease

func NewRelease(name string, environments []*v1alpha1.Environment) *Release

func (*Release) AreVersionsInSync

func (r *Release) AreVersionsInSync() bool

func (*Release) ComputePromotedFile

func (r *Release) ComputePromotedFile(targetEnv *v1alpha1.Environment) error

ComputePromotedFile computes the promotion merged file for release from source to target environment, assuming the only environments are respectively source and target. If merged result is same as target, then no promotion is needed and PromotedFile is nil.

type ReleaseList

type ReleaseList struct {
	Environments []*v1alpha1.Environment
	Items        []*Release
}

ReleaseList describes multiple releases across multiple environments

func LoadReleaseList

func LoadReleaseList(allFiles []*yml.File, environments []*v1alpha1.Environment, releaseFilter filtering.Filter) (*ReleaseList, error)

LoadReleaseList loads all releases for given environments underneath the given base directory.

func NewReleaseList

func NewReleaseList(environments []*v1alpha1.Environment) *ReleaseList

NewReleaseList creates a new ReleaseList

func (*ReleaseList) GetReleasesForPromotion

func (r *ReleaseList) GetReleasesForPromotion(sourceEnv, targetEnv *v1alpha1.Environment) (*ReleaseList, error)

GetReleasesForPromotion returns a subset of the releases in this list that are promotable, with only the given source and target environments as first and second environments.

func (*ReleaseList) HasAnyPromotableReleases

func (r *ReleaseList) HasAnyPromotableReleases() bool

func (*ReleaseList) OnlySpecificReleases

func (r *ReleaseList) OnlySpecificReleases(releases []string) *ReleaseList

OnlySpecificReleases returns a subset of the releases in this list that match the given names.

func (*ReleaseList) ResolveEnvRefs

func (r *ReleaseList) ResolveEnvRefs(environments []*v1alpha1.Environment)

func (*ReleaseList) ResolveProjectRefs

func (r *ReleaseList) ResolveProjectRefs(projects []*v1alpha1.Project) error

func (*ReleaseList) SortedCrossReleases

func (r *ReleaseList) SortedCrossReleases() []*Release

Jump to

Keyboard shortcuts

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