skrresources

package
v0.0.0-...-6e0b66d Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2025 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrClientObjectConversionFailed = errors.New("client object conversion failed")
	ErrServerSideApplyFailed        = errors.New("ServerSideApply failed")
	ErrClientUnauthorized           = errors.New("ServerSideApply is unauthorized")
)
View Source
var ErrWarningResourceSyncStateDiff = errors.New("resource syncTarget state diff detected")

Functions

func HasDiff

func HasDiff(oldResources []shared.Resource, newResources []shared.Resource) bool

func SyncResources

func SyncResources(ctx context.Context, skrClient client.Client, manifest *v1beta2.Manifest,
	target []*resource.Info,
) error

Types

type ConcurrentDefaultSSA

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

func ConcurrentSSA

func ConcurrentSSA(clnt client.Client, owner client.FieldOwner, managedFieldsCollector ManagedFieldsCollector) *ConcurrentDefaultSSA

func (*ConcurrentDefaultSSA) Run

func (c *ConcurrentDefaultSSA) Run(ctx context.Context, resources []*resource.Info) error

type DefaultInfoToResourceConverter

type DefaultInfoToResourceConverter struct{}

func NewInfoToResourceConverter

func NewInfoToResourceConverter() *DefaultInfoToResourceConverter

func (*DefaultInfoToResourceConverter) InfosToResources

func (c *DefaultInfoToResourceConverter) InfosToResources(infos []*resource.Info) []shared.Resource

type DefaultResourceToInfoConverter

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

func NewResourceToInfoConverter

func NewResourceToInfoConverter(
	converter ResourceInfoConverter, defaultNamespace string,
) *DefaultResourceToInfoConverter

func (*DefaultResourceToInfoConverter) ResourcesToInfos

func (c *DefaultResourceToInfoConverter) ResourcesToInfos(resources []shared.Resource) ([]*resource.Info, error)

func (*DefaultResourceToInfoConverter) UnstructuredToInfos

func (c *DefaultResourceToInfoConverter) UnstructuredToInfos(
	resources []*unstructured.Unstructured,
) ([]*resource.Info, error)

type InfoToResourceConverter

type InfoToResourceConverter interface {
	InfosToResources(resourceInfo []*resource.Info) []shared.Resource
}

type LogCollector

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

Implements skrresources.ManagedFieldsCollector interface, emits the collected data to the log stream. The collector is thread-safe. The collector is frequency-limited to prevent emitting entries for the same objectKey multiple times in a short time.

func NewLogCollector

func NewLogCollector(key string, owner client.FieldOwner) *LogCollector

func (*LogCollector) Collect

func (c *LogCollector) Collect(ctx context.Context, remoteObj client.Object)

func (*LogCollector) Emit

func (c *LogCollector) Emit(ctx context.Context) error

type LogCollectorEntry

type LogCollectorEntry struct {
	ObjectName      string                         `json:"objectName"`
	ObjectNamespace string                         `json:"objectNamespace"`
	ObjectGVK       string                         `json:"objectGvk"`
	ManagedFields   []apimetav1.ManagedFieldsEntry `json:"managedFields"`
}

type ManagedFieldsCollector

type ManagedFieldsCollector interface {
	// Collect collects managed fields data from the single object
	Collect(ctx context.Context, obj client.Object)
	// Emit emits collected data to some backing store
	Emit(ctx context.Context) error
}

type ManifestLogCollector

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

ManifestLogCollector is a collector for remote Manifest objects. It delegates the calls to the embedded generic collector if collection is enabled for the given Manifest.

func NewManifestLogCollector

func NewManifestLogCollector(manifest *v1beta2.Manifest, owner client.FieldOwner) *ManifestLogCollector

func (*ManifestLogCollector) Collect

func (c *ManifestLogCollector) Collect(ctx context.Context, obj client.Object)

Implements the skrresources.ManagedFieldsCollector interface.

func (*ManifestLogCollector) Emit

Implements the skrresources.ManagedFieldsCollector interface.

type ResourceInfoConverter

type ResourceInfoConverter interface {
	ResourceInfo(obj *unstructured.Unstructured, retryOnNoMatch bool) (*resource.Info, error)
}

type ResourceToInfoConverter

type ResourceToInfoConverter interface {
	ResourcesToInfos(resource []shared.Resource) ([]*resource.Info, error)
	UnstructuredToInfos(obj []*unstructured.Unstructured) ([]*resource.Info, error)
}

type SSA

type SSA interface {
	Run(ctx context.Context, resourceInfo []*resource.Info) error
}

Jump to

Keyboard shortcuts

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