# Functions
AllPluginKinds contains all the valid plugin kinds that Velero supports, excluding PluginLister because that is not a kind that a developer would ever need to implement (it's handled by Velero and the Velero plugin library code).
No description provided by the author
Handshake returns the configuration information that allows go-plugin clients and servers to perform a handshake.
NewBackupItemActionPlugin constructs a BackupItemActionPlugin.
NewObjectStorePlugin construct an ObjectStorePlugin.
NewPluginLister returns a new PluginLister for plugins.
NewPluginListerPlugin creates a new PluginListerPlugin with impl as the server-side implementation.
NewRestoreItemActionPlugin constructs a RestoreItemActionPlugin.
NewServer returns a new Server.
NewVolumeSnapshotterPlugin constructs a VolumeSnapshotterPlugin.
ValidateObjectStoreConfigKeys ensures that an object store's config is valid by making sure each `config` key is in the `validKeys` list.
ValidatePluginName checks if the given name: - the plugin name has two parts separated by '/' - non of the above parts is empty - the prefix is a valid DNS subdomain name - a plugin with the same name does not already exist (if list of existing names is passed in).
ValidateVolumeSnapshotterConfigKeys ensures that a volume snapshotter's config is valid by making sure each `config` key is in the `validKeys` list.
# Constants
PluginKindBackupItemAction represents a backup item action plugin.
PluginKindObjectStore represents an object store plugin.
PluginKindPluginLister represents a plugin lister plugin.
PluginKindRestoreItemAction represents a restore item action plugin.
PluginKindVolumeSnapshotter represents a volume snapshotter plugin.
# Structs
BackupItemActionGRPCClient implements the backup/ItemAction interface and uses a gRPC client to make calls to the plugin server.
BackupItemActionGRPCServer implements the proto-generated BackupItemAction interface, and accepts gRPC calls and forwards them to an implementation of the pluggable interface.
BackupItemActionPlugin is an implementation of go-plugin's Plugin interface with support for gRPC for the backup/ItemAction interface.
ObjectStoreGRPCClient implements the ObjectStore interface and uses a gRPC client to make calls to the plugin server.
ObjectStoreGRPCServer implements the proto-generated ObjectStoreServer interface, and accepts gRPC calls and forwards them to an implementation of the pluggable interface.
ObjectStorePlugin is an implementation of go-plugin's Plugin interface with support for gRPC for the cloudprovider/ObjectStore interface.
PluginIdentifier uniquely identifies a plugin by command, kind, and name.
PluginListerGRPCClient implements PluginLister and uses a gRPC client to make calls to the plugin server.
PluginListerGRPCServer implements the proto-generated PluginLister gRPC service interface.
PluginListerPlugin is a go-plugin Plugin for a PluginLister.
RestoreItemActionGRPCClient implements the backup/ItemAction interface and uses a gRPC client to make calls to the plugin server.
RestoreItemActionGRPCServer implements the proto-generated RestoreItemActionServer interface, and accepts gRPC calls and forwards them to an implementation of the pluggable interface.
RestoreItemActionPlugin is an implementation of go-plugin's Plugin interface with support for gRPC for the restore/ItemAction interface.
StreamReadCloser wraps a ReceiveFunc and a CloseSendFunc to implement io.ReadCloser.
VolumeSnapshotterGRPCClient implements the cloudprovider.VolumeSnapshotter interface and uses a gRPC client to make calls to the plugin server.
VolumeSnapshotterGRPCServer implements the proto-generated VolumeSnapshotterServer interface, and accepts gRPC calls and forwards them to an implementation of the pluggable interface.
VolumeSnapshotterPlugin is an implementation of go-plugin's Plugin interface with support for gRPC for the cloudprovider/VolumeSnapshotter interface.
# Interfaces
No description provided by the author
Interface represents a Velero plugin.
PluginLister lists plugins.
Server serves registered plugin implementations.
# Type aliases
CloseFunc is used to signal to the source of data that the StreamReadCloser has been closed.
HandlerInitializer is a function that initializes and returns a new instance of one of Velero's plugin interfaces (ObjectStore, VolumeSnapshotter, BackupItemAction, RestoreItemAction).
PluginKind is a type alias for a string that describes the kind of a Velero-supported plugin.
No description provided by the author
ReceiveFunc is a function that either returns a slice of an arbitrary number of bytes OR an error.