Documentation ¶
Index ¶
- func EtcdHealthCheck(data []byte) error
- func New(c *kubernetes.Client, codec runtime.Codec, ...) storage.Interface
- func NewETCDLatencyTracker(delegate clientv3.KV) clientv3.KV
- func NewStoreWithUnsafeCorruptObjectDeletion(delegate storage.Interface, gr schema.GroupResource) storage.Interface
- func StartCompactor(ctx context.Context, client *clientv3.Client, compactInterval time.Duration)
- func TestOnlySetFatalOnDecodeError(b bool)
- func WithCorruptObjErrorHandlingTransformer(transformer value.Transformer) value.Transformer
- type Decoder
- type LeaseManagerConfig
- type ListErrorAggregator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EtcdHealthCheck ¶ added in v0.16.4
EtcdHealthCheck decodes data returned from etcd /healthz handler. Deprecated: Validate health by passing storagebackend.Config directly to storagefactory.CreateProber.
func New ¶
func New(c *kubernetes.Client, codec runtime.Codec, newFunc, newListFunc func() runtime.Object, prefix, resourcePrefix string, groupResource schema.GroupResource, transformer value.Transformer, leaseManagerConfig LeaseManagerConfig, decoder Decoder, versioner storage.Versioner) storage.Interface
New returns an etcd3 implementation of storage.Interface.
func NewETCDLatencyTracker ¶ added in v0.24.0
NewETCDLatencyTracker returns an implementation of clientv3.KV that times the calls from the specified 'delegate' KV instance in order to track latency incurred.
func NewStoreWithUnsafeCorruptObjectDeletion ¶ added in v0.32.0
func NewStoreWithUnsafeCorruptObjectDeletion(delegate storage.Interface, gr schema.GroupResource) storage.Interface
NewStoreWithUnsafeCorruptObjectDeletion wraps the given store implementation and adds support for unsafe deletion of corrupt objects
func StartCompactor ¶
StartCompactor starts a compactor in the background to compact old version of keys that's not needed. By default, we save the most recent 5 minutes data and compact versions > 5minutes ago. It should be enough for slow watchers and to tolerate burst. TODO: We might keep a longer history (12h) in the future once storage API can take advantage of past version of keys.
func TestOnlySetFatalOnDecodeError ¶
func TestOnlySetFatalOnDecodeError(b bool)
TestOnlySetFatalOnDecodeError should only be used for cases where decode errors are expected and need to be tested. e.g. conversion webhooks.
func WithCorruptObjErrorHandlingTransformer ¶ added in v0.32.0
func WithCorruptObjErrorHandlingTransformer(transformer value.Transformer) value.Transformer
WithCorruptObjErrorHandlingTransformer decorates the given decoder, it determines if the error returned by the given transformer represents a corrupt object (the data from the storage is untransformable), and then it wraps the error appropriately so the unsafe deleter can determine if the object is a candidate for unsafe deletion
Types ¶
type Decoder ¶ added in v0.32.0
type Decoder interface { // Decode decodes value of bytes into object. It will also // set the object resource version to rev. // On success, objPtr would be set to the object. Decode(value []byte, objPtr runtime.Object, rev int64) error // DecodeListItem decodes bytes value in array into object. DecodeListItem(ctx context.Context, data []byte, rev uint64, newItemFunc func() runtime.Object) (runtime.Object, error) }
Decoder is used by the etcd storage implementation to decode transformed data from the storage into an object
func NewDefaultDecoder ¶ added in v0.32.0
NewDefaultDecoder returns the default decoder for etcd3 store
func WithCorruptObjErrorHandlingDecoder ¶ added in v0.32.0
WithCorruptObjErrorHandlingDecoder decorates the given decoder, it determines if the error returned by the given decoder represents a corrupt object (the object is undecodable), and then it wraps the error appropriately so the unsafe deleter can determine if the object is a candidate for unsafe deletion
type LeaseManagerConfig ¶ added in v0.18.18
type LeaseManagerConfig struct { // ReuseDurationSeconds specifies time in seconds that each lease is reused ReuseDurationSeconds int64 // MaxObjectCount specifies how many objects that a lease can attach MaxObjectCount int64 }
LeaseManagerConfig is configuration for creating a lease manager.
func NewDefaultLeaseManagerConfig ¶ added in v0.18.18
func NewDefaultLeaseManagerConfig() LeaseManagerConfig
NewDefaultLeaseManagerConfig creates a LeaseManagerConfig with default values
type ListErrorAggregator ¶ added in v0.32.0
type ListErrorAggregator interface { // Aggregate aggregates the given error from list operation // key: it identifies the given object in the storage. // err: it represents the error the list operation encountered while // retrieving the given object from the storage. // done: true if the aggregation is done and the list operation should // abort, otherwise the list operation will continue Aggregate(key string, err error) bool // Err returns the aggregated error Err() error }
ListErrorAggregator aggregates the error(s) that the LIST operation encounters while retrieving object(s) from the storage