Documentation
¶
Index ¶
- Variables
- func AwaitBranchConfig(ctx context.Context, api nuon.Client, appID string, ...) (*models.AppAppBranch, error)
- func EligibleGroups(groups []*models.AppAppBranchInstallGroup) []*models.AppAppBranchInstallGroup
- func GroupLabels(group *models.AppAppBranchInstallGroup) (map[string]string, error)
- func InputConfigForInstall(ctx context.Context, api nuon.Client, install *models.AppInstall) (*models.AppAppInputConfig, error)
- func MergeGroupLabels(into, groupLabels map[string]string) error
- func ResolveInputConfig(ctx context.Context, api nuon.Client, appID, appBranchID string) (*models.AppAppInputConfig, error)
Constants ¶
This section is empty.
Variables ¶
var ( BranchConfigPoll = 10 * time.Second BranchConfigTimeout = 15 * time.Minute )
Functions ¶
func AwaitBranchConfig ¶ added in v0.19.1252
func AwaitBranchConfig( ctx context.Context, api nuon.Client, appID string, branch *models.AppAppBranch, dryRun bool, log func(string), ) (*models.AppAppBranch, error)
AwaitBranchConfig waits until the branch has an active app config. A nil branch skips the wait. A branch whose only run has failed returns immediately. An in-flight run is polled until its config is active. Dry run fails immediately when the config is not already ready.
func EligibleGroups ¶
func EligibleGroups(groups []*models.AppAppBranchInstallGroup) []*models.AppAppBranchInstallGroup
EligibleGroups filters a branch config's install groups down to those that can be applied during install creation.
func GroupLabels ¶
func GroupLabels(group *models.AppAppBranchInstallGroup) (map[string]string, error)
GroupLabels returns the labels an install must carry to join a group. Only label-based groups with fully concrete match labels can be selected at creation time, since a wildcard has no single value to apply.
func InputConfigForInstall ¶ added in v0.19.1273
func InputConfigForInstall(ctx context.Context, api nuon.Client, install *models.AppInstall) (*models.AppAppInputConfig, error)
InputConfigForInstall returns the input config the install is pinned to. That is the branch config when the install is on an app branch, which can declare inputs the app's latest config does not. An install with no pinned app config falls back to the latest input config.
func MergeGroupLabels ¶
MergeGroupLabels applies a group's labels onto an install's labels, refusing to overwrite a value the user set explicitly.
func ResolveInputConfig ¶
func ResolveInputConfig(ctx context.Context, api nuon.Client, appID, appBranchID string) (*models.AppAppInputConfig, error)
ResolveInputConfig returns the input config belonging to the app config that install creation will pin. Apps without branches retain the legacy app-wide latest-input behavior.
Types ¶
This section is empty.