store

package
v0.0.0-...-2503396 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotFound                 = errors.New("not found")
	ErrAlreadyExists            = errors.New("already exists")
	ErrResourceVersionNotLatest = errors.New("resourceVersion is not latest")
)

Functions

func IgnoreErrNotFound

func IgnoreErrNotFound(err error) error

Types

type HasLabels

type HasLabels []string

func (HasLabels) ApplyToList

func (h HasLabels) ApplyToList(o *ListOptions)

type IndexerFunc

type IndexerFunc[E api.Object] func(E) string

type ListOption

type ListOption interface {
	ApplyToList(*ListOptions)
}

type ListOptions

type ListOptions struct {
	LabelSelector labels.Selector
	FieldSelector fields.Selector
}

type MatchingFields

type MatchingFields fields.Set

func (MatchingFields) ApplyToList

func (m MatchingFields) ApplyToList(o *ListOptions)

type MatchingLabels

type MatchingLabels labels.Set

func (MatchingLabels) ApplyToList

func (m MatchingLabels) ApplyToList(o *ListOptions)

type Store

type Store[E api.Object] interface {
	Create(ctx context.Context, obj E) (E, error)
	Get(ctx context.Context, id string) (E, error)
	Update(ctx context.Context, obj E) (E, error)
	Delete(ctx context.Context, id string) error
	List(ctx context.Context, opts ...ListOption) ([]E, error)

	Watch(ctx context.Context, opts ...ListOption) (Watch[E], error)
}

type Watch

type Watch[E api.Object] interface {
	Stop()
	Events() <-chan WatchEvent[E]
}

type WatchEvent

type WatchEvent[E api.Object] struct {
	Type   WatchEventType
	Object E
}

type WatchEventType

type WatchEventType string
const (
	WatchEventTypeCreated WatchEventType = "Created"
	WatchEventTypeUpdated WatchEventType = "Updated"
	WatchEventTypeDeleted WatchEventType = "Deleted"
)

Jump to

Keyboard shortcuts

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