Documentation ¶
Index ¶
- Variables
- func EarliestPendingAutoTriggerTarget(targets []*store.ManifestTarget) *store.ManifestTarget
- func FindDeployOnlyK8sManifestTargets(targets []*store.ManifestTarget) []*store.ManifestTarget
- func FindLocalTargets(targets []*store.ManifestTarget) []*store.ManifestTarget
- func FindTargetsNeedingInitialBuild(targets []*store.ManifestTarget) []*store.ManifestTarget
- func FindUnresourcedYAML(targets []*store.ManifestTarget) *store.ManifestTarget
- func IsBuildingAnything(state store.EngineState) bool
- func IsBuildingLocalTarget(state store.EngineState) bool
- func IsDontFallBackError(err error) bool
- func IsFatalError(err error) bool
- func NextManifestNameToBuild(state store.EngineState) model.ManifestName
- func NextTargetToBuild(state store.EngineState) *store.ManifestTarget
- func NextUnbuiltTargetToBuild(unbuilt []*store.ManifestTarget) *store.ManifestTarget
- func RemoveLocalTargets(targets []*store.ManifestTarget) []*store.ManifestTarget
- func RemoveTargetsWaitingOnDependencies(state store.EngineState, mts []*store.ManifestTarget) []*store.ManifestTarget
- func RemoveTargetsWithBuildingComponents(mts []*store.ManifestTarget) []*store.ManifestTarget
- func ShouldFallBackForErr(err error) bool
- func WrapDontFallBackError(err error) error
- type BuildCompleteAction
- type BuildHandler
- type BuildStartedAction
- type DontFallBackError
- type ImageExistsChecker
- type RedirectToNextBuilder
- type TargetQueue
- type UpdateMode
- type UpdateModeFlag
Constants ¶
This section is empty.
Variables ¶
var AllUpdateModes = []UpdateMode{ UpdateModeAuto, UpdateModeImage, UpdateModeNaive, UpdateModeSynclet, UpdateModeContainer, UpdateModeKubectlExec, }
Functions ¶
func EarliestPendingAutoTriggerTarget ¶
func EarliestPendingAutoTriggerTarget(targets []*store.ManifestTarget) *store.ManifestTarget
Go through all the manifests, and check: 1) all pending file changes, and 2) all pending manifest changes The earliest one is the one we want.
If no targets are pending, return nil
func FindDeployOnlyK8sManifestTargets ¶
func FindDeployOnlyK8sManifestTargets(targets []*store.ManifestTarget) []*store.ManifestTarget
func FindLocalTargets ¶
func FindLocalTargets(targets []*store.ManifestTarget) []*store.ManifestTarget
func FindTargetsNeedingInitialBuild ¶ added in v0.10.18
func FindTargetsNeedingInitialBuild(targets []*store.ManifestTarget) []*store.ManifestTarget
func FindUnresourcedYAML ¶
func FindUnresourcedYAML(targets []*store.ManifestTarget) *store.ManifestTarget
func IsBuildingAnything ¶ added in v0.14.0
func IsBuildingAnything(state store.EngineState) bool
func IsBuildingLocalTarget ¶ added in v0.14.0
func IsBuildingLocalTarget(state store.EngineState) bool
func IsDontFallBackError ¶ added in v0.10.25
func IsFatalError ¶ added in v0.10.25
A permanent error indicates that the whole build pipeline needs to stop. It will never recover, even on subsequent rebuilds.
func NextManifestNameToBuild ¶
func NextManifestNameToBuild(state store.EngineState) model.ManifestName
func NextTargetToBuild ¶
func NextTargetToBuild(state store.EngineState) *store.ManifestTarget
Algorithm to choose a manifest to build next.
func NextUnbuiltTargetToBuild ¶
func NextUnbuiltTargetToBuild(unbuilt []*store.ManifestTarget) *store.ManifestTarget
Helper function for ordering targets that have never been built before.
func RemoveLocalTargets ¶ added in v0.14.0
func RemoveLocalTargets(targets []*store.ManifestTarget) []*store.ManifestTarget
func RemoveTargetsWaitingOnDependencies ¶ added in v0.10.15
func RemoveTargetsWaitingOnDependencies(state store.EngineState, mts []*store.ManifestTarget) []*store.ManifestTarget
func RemoveTargetsWithBuildingComponents ¶ added in v0.14.0
func RemoveTargetsWithBuildingComponents(mts []*store.ManifestTarget) []*store.ManifestTarget
func ShouldFallBackForErr ¶ added in v0.10.25
func WrapDontFallBackError ¶ added in v0.10.25
Types ¶
type BuildCompleteAction ¶ added in v0.10.25
type BuildCompleteAction struct { ManifestName model.ManifestName SpanID logstore.SpanID Result store.BuildResultSet FinishTime time.Time Error error }
func NewBuildCompleteAction ¶ added in v0.10.25
func NewBuildCompleteAction(mn model.ManifestName, spanID logstore.SpanID, result store.BuildResultSet, err error) BuildCompleteAction
func (BuildCompleteAction) Action ¶ added in v0.10.25
func (BuildCompleteAction) Action()
type BuildHandler ¶ added in v0.14.0
type BuildHandler func( target model.TargetSpec, state store.BuildState, depResults []store.BuildResult) (store.BuildResult, error)
Allows the caller to inject its own build strategy for dirty targets.
type BuildStartedAction ¶ added in v0.10.25
type BuildStartedAction struct { ManifestName model.ManifestName StartTime time.Time FilesChanged []string Reason model.BuildReason SpanID logstore.SpanID }
func (BuildStartedAction) Action ¶ added in v0.10.25
func (BuildStartedAction) Action()
type DontFallBackError ¶ added in v0.10.25
type DontFallBackError struct {
// contains filtered or unexported fields
}
Something is wrong enough that we shouldn't bother falling back to other BaD's -- they won't work.
func DontFallBackErrorf ¶ added in v0.10.25
func DontFallBackErrorf(msg string, a ...interface{}) DontFallBackError
type ImageExistsChecker ¶ added in v0.14.0
type RedirectToNextBuilder ¶ added in v0.10.25
Nothing is on fire, this is an expected case like a container builder being passed a build with no attached container. `level` indicates at what log level this error should be shown to the user
func RedirectToNextBuilderInfof ¶ added in v0.10.25
func RedirectToNextBuilderInfof(msg string, a ...interface{}) RedirectToNextBuilder
func SilentRedirectToNextBuilderf ¶ added in v0.10.25
func SilentRedirectToNextBuilderf(msg string, a ...interface{}) RedirectToNextBuilder
func WrapRedirectToNextBuilder ¶ added in v0.10.25
func WrapRedirectToNextBuilder(err error, level logger.Level) RedirectToNextBuilder
func (RedirectToNextBuilder) UserFacing ¶ added in v0.14.0
func (redir RedirectToNextBuilder) UserFacing() bool
UserFacing indicates whether this error should be messaged to the user by default. Should be `true` for messages we always want the user to read, e.g. "couldn't Live Update because we matched a fall_back_on file".
type TargetQueue ¶ added in v0.14.0
type TargetQueue struct {
// contains filtered or unexported fields
}
A little data structure to help iterate through dirty targets in dependency order.
func NewImageTargetQueue ¶ added in v0.14.0
func NewImageTargetQueue(ctx context.Context, iTargets []model.ImageTarget, state store.BuildStateSet, imageExists ImageExistsChecker) (*TargetQueue, error)
func (*TargetQueue) CountDirty ¶ added in v0.14.0
func (q *TargetQueue) CountDirty() int
func (*TargetQueue) Results ¶ added in v0.14.0
func (q *TargetQueue) Results() store.BuildResultSet
func (*TargetQueue) RunBuilds ¶ added in v0.14.0
func (q *TargetQueue) RunBuilds(handler BuildHandler) error
type UpdateMode ¶ added in v0.10.25
type UpdateMode string
var ( // Auto-pick the build mode based on UpdateModeAuto UpdateMode = "auto" // Only do image builds UpdateModeImage UpdateMode = "image" // Only do image builds from scratch UpdateModeNaive UpdateMode = "naive" // Deploy a synclet to make container updates faster UpdateModeSynclet UpdateMode = "synclet" // Update containers in-place. This mode only works with DockerForDesktop and Minikube. // If you try to use this mode with a different K8s cluster type, we will return an error UpdateModeContainer UpdateMode = "container" // Use `kubectl exec` UpdateModeKubectlExec UpdateMode = "exec" )
func ProvideUpdateMode ¶ added in v0.10.25
func ProvideUpdateMode(flag UpdateModeFlag, env k8s.Env, runtime container.Runtime) (UpdateMode, error)
type UpdateModeFlag ¶ added in v0.10.25
type UpdateModeFlag UpdateMode
A type to bind to flag values that need validation.