flowcontrol

package
v0.2.17 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CompositionInputRevisionWriteBuffer added in v0.2.16

type CompositionInputRevisionWriteBuffer struct {
	// contains filtered or unexported fields
}

CompositionInputRevisionWriteBuffer reduces load on etcd/apiserver by collecting input-revision updates for each Composition over a short window and applying them in a single scoped status patch per Composition.

Multiple input kinds are watched by independent KindWatchControllers, so a burst of input changes affecting the same Composition would otherwise produce one status write per change. Coalescing them per Composition (last-write-wins per input key) collapses those into a single mutating request while preserving the latest revision for every key.

func NewCompositionInputRevisionWriteBuffer added in v0.2.16

func NewCompositionInputRevisionWriteBuffer(cli client.Client) *CompositionInputRevisionWriteBuffer

func NewCompositionInputRevisionWriteBufferForManager added in v0.2.16

func NewCompositionInputRevisionWriteBufferForManager(mgr ctrl.Manager) (*CompositionInputRevisionWriteBuffer, error)

func (*CompositionInputRevisionWriteBuffer) PatchInputRevisionAsync added in v0.2.16

func (w *CompositionInputRevisionWriteBuffer) PatchInputRevisionAsync(comp types.NamespacedName, revs *apiv1.InputRevisions)

PatchInputRevisionAsync enqueues an input-revision update for the given composition. The update is coalesced last-write-wins per input key and eventually flushed, or dropped only if the composition is deleted.

func (*CompositionInputRevisionWriteBuffer) RemoveInputRevisionAsync added in v0.2.16

func (w *CompositionInputRevisionWriteBuffer) RemoveInputRevisionAsync(comp types.NamespacedName, key string)

RemoveInputRevisionAsync enqueues the removal of a single input-revision key for the given composition. Coalesced last-write-wins with any pending update for the same key.

func (*CompositionInputRevisionWriteBuffer) Start added in v0.2.16

type ResourceSliceWriteBuffer

type ResourceSliceWriteBuffer struct {
	// contains filtered or unexported fields
}

ResourceSliceWriteBuffer reduces load on etcd/apiserver by collecting resource slice status updates over a short period of time and applying them in a single patch request.

func NewResourceSliceWriteBuffer

func NewResourceSliceWriteBuffer(cli client.Client) *ResourceSliceWriteBuffer

func NewResourceSliceWriteBufferForManager

func NewResourceSliceWriteBufferForManager(mgr ctrl.Manager) *ResourceSliceWriteBuffer

func (*ResourceSliceWriteBuffer) PatchStatusAsync

func (w *ResourceSliceWriteBuffer) PatchStatusAsync(ctx context.Context, ref *resource.ManifestRef, patchFn StatusPatchFn)

PatchStatusAsync returns after enqueueing the given status update. The update will eventually be applied, or dropped only if the slice is deleted.

func (*ResourceSliceWriteBuffer) Start

type StatusPatchFn

type StatusPatchFn func(*apiv1.ResourceState) *apiv1.ResourceState

Jump to

Keyboard shortcuts

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