Documentation
¶
Index ¶
- type CompositionInputRevisionWriteBuffer
- func (w *CompositionInputRevisionWriteBuffer) PatchInputRevisionAsync(comp types.NamespacedName, revs *apiv1.InputRevisions)
- func (w *CompositionInputRevisionWriteBuffer) RemoveInputRevisionAsync(comp types.NamespacedName, key string)
- func (w *CompositionInputRevisionWriteBuffer) Start(ctx context.Context) error
- type ResourceSliceWriteBuffer
- type StatusPatchFn
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.
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.
type StatusPatchFn ¶
type StatusPatchFn func(*apiv1.ResourceState) *apiv1.ResourceState