Documentation ¶
Index ¶
- type Release
- type ReleaseList
- func (r *ReleaseList) GetReleasesForPromotion(sourceEnv, targetEnv *v1alpha1.Environment) (*ReleaseList, error)
- func (r *ReleaseList) HasAnyPromotableReleases() bool
- func (r *ReleaseList) OnlySpecificReleases(releases []string) *ReleaseList
- func (r *ReleaseList) ResolveEnvRefs(environments []*v1alpha1.Environment)
- func (r *ReleaseList) ResolveProjectRefs(projects []*v1alpha1.Project) error
- func (r *ReleaseList) SortedCrossReleases() []*Release
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
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 VersionInSync bool ValuesInSync bool }
Release describes a given release across multiple environments
func NewRelease ¶
func NewRelease(name string, environments []*v1alpha1.Environment) *Release
func (*Release) ComputePromotedFile ¶
func (r *Release) ComputePromotedFile(sourceEnv, 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