Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplyOption ¶
type ApplyOption interface {
// ApplyToGet applies this configuration to the given get options.
ApplyToApply(*ApplyOptions)
}
type ApplyOptions ¶
type ApplyOptions struct {
}
func (*ApplyOptions) ApplyOptions ¶
func (o *ApplyOptions) ApplyOptions(opts []ApplyOption) *ApplyOptions
ApplyOptions applies the given get options on these options, and then returns itself (for convenient chaining).
func (*ApplyOptions) ApplyToApply ¶
func (o *ApplyOptions) ApplyToApply(lo *ApplyOptions)
type BranchUnstructuredStore ¶
type BranchUnstructuredStore interface {
UnstructuredStore
}
type CreateOption ¶
type CreateOption interface {
// ApplyToGet applies this configuration to the given get options.
ApplyToCreate(*CreateOptions)
}
type CreateOptions ¶
type CreateOptions struct {
}
func (*CreateOptions) ApplyOptions ¶
func (o *CreateOptions) ApplyOptions(opts []CreateOption) *CreateOptions
func (*CreateOptions) ApplyToCreate ¶
func (o *CreateOptions) ApplyToCreate(lo *CreateOptions)
type DeleteOption ¶
type DeleteOption interface {
// ApplyToGet applies this configuration to the given get options.
ApplyToDelete(*DeleteOptions)
}
type DeleteOptions ¶
type DeleteOptions struct {
}
func (*DeleteOptions) ApplyOptions ¶
func (o *DeleteOptions) ApplyOptions(opts []DeleteOption) *DeleteOptions
func (*DeleteOptions) ApplyToDelete ¶
func (o *DeleteOptions) ApplyToDelete(lo *DeleteOptions)
type GetOption ¶
type GetOption interface {
// ApplyToGet applies this configuration to the given get options.
ApplyToGet(*GetOptions)
}
type GetOptions ¶
func (*GetOptions) ApplyOptions ¶
func (o *GetOptions) ApplyOptions(opts []GetOption) *GetOptions
ApplyOptions applies the given get options on these options, and then returns itself (for convenient chaining).
func (*GetOptions) ApplyToGet ¶
func (o *GetOptions) ApplyToGet(lo *GetOptions)
type Key ¶
type Key struct {
Branch string
types.NamespacedName
}
func KeyFromNSN ¶
func KeyFromNSN(nsn types.NamespacedName) Key
KeyFromNSN takes a types.NamespacedName and returns it wrapped in the Key struct.
type ListOption ¶
type ListOption interface {
// ApplyToList applies this configuration to the given get options.
ApplyToList(*ListOptions)
}
type ListOptions ¶
func (*ListOptions) ApplyOptions ¶
func (o *ListOptions) ApplyOptions(opts []ListOption) *ListOptions
ApplyOptions applies the given get options on these options, and then returns itself (for convenient chaining).
func (*ListOptions) ApplyToList ¶
func (o *ListOptions) ApplyToList(lo *ListOptions)
type Storer ¶
type Storer[T1 any] interface { // Starting the watcher manager Start(context.Context) // Stopping the watcher manager Stop() // Retrieve retrieves data for the given key from the storage Get(key Key, opts ...GetOption) (T1, error) // Retrieve retrieves data for the given key from the storage List(visitorFunc func(Key, T1), opts ...ListOption) // Retrieve retrieves data for the given key from the storage ListKeys(opts ...ListOption) []string // Len returns the # entries in the store Len(opts ...ListOption) int Apply(key Key, data T1, opts ...ApplyOption) error // Create data with the given key in the storage Create(key Key, data T1, opts ...CreateOption) error // Update data with the given key in the storage Update(key Key, data T1, opts ...UpdateOption) error // Update data in a concurrent way through a function UpdateWithKeyFn(key Key, updateFunc func(obj T1) T1) // Delete deletes data and key from the storage Delete(key Key, opts ...DeleteOption) error // Watch watches change Watch(ctx context.Context, opts ...ListOption) (watch.WatchInterface[T1], error) }
Storer defines the interface for a generic storage system.
type UnstructuredStore ¶
type UnstructuredStore interface {
// Retrieve retrieves data for the given key from the storage
Get(key Key, opts ...GetOption) (runtime.Unstructured, error)
// Retrieve retrieves data for the given key from the storage
List(visitorFunc func(key Key, obj runtime.Unstructured), opts ...ListOption)
// Retrieve retrieves data for the given key from the storage
ListKeys(opts ...ListOption) []string
// Len returns the # entries in the store
Len(opts ...ListOption) int
Apply(key Key, obj runtime.Unstructured, opts ...ApplyOption) error
// Create data with the given key in the storage
Create(key Key, obj runtime.Unstructured, opts ...CreateOption) error
// Update data with the given key in the storage
Update(key Key, obj runtime.Unstructured, opts ...UpdateOption) error
// Update data in a concurrent way through a function
UpdateWithKeyFn(key Key, updateFunc func(obj runtime.Unstructured, opts ...UpdateOption) runtime.Unstructured)
// Delete deletes data and key from the storage
Delete(key Key, opts ...DeleteOption) error
// Watch watches change
Watch(ctx context.Context, opts ...ListOption) (watch.WatchInterface[runtime.Unstructured], error)
}
type UpdateOption ¶
type UpdateOption interface {
// ApplyToGet applies this configuration to the given get options.
ApplyToUpdate(*UpdateOptions)
}
type UpdateOptions ¶
type UpdateOptions struct {
}
func (*UpdateOptions) ApplyOptions ¶
func (o *UpdateOptions) ApplyOptions(opts []UpdateOption) *UpdateOptions
func (*UpdateOptions) ApplyToUpdate ¶
func (o *UpdateOptions) ApplyToUpdate(lo *UpdateOptions)
Click to show internal directories.
Click to hide internal directories.