Documentation ¶
Index ¶
Constants ¶
View Source
const ( // TargetStagePath is the path within the plugin's scope that the volume is // to be staged. This does not need to be accessible or propagated outside // of the plugin rootfs. TargetStagePath string = "/data/staged" // TargetPublishPath is the path within the plugin's scope that the volume // is to be published. This needs to be the plugin's PropagatedMount. TargetPublishPath string = "/data/published" )
View Source
const ( // DockerCSIPluginCap is the capability name of the plugins we use with the // PluginGetter to get only the plugins we need. The full name of the // plugin interface is "docker.csinode/1.0". This gets only plugins with // Node capabilities. DockerCSIPluginCap = "csinode" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type NodePlugin ¶
type NodePlugin interface { GetPublishedPath(volumeID string) string NodeGetInfo(ctx context.Context) (*api.NodeCSIInfo, error) NodeStageVolume(ctx context.Context, req *api.VolumeAssignment) error NodeUnstageVolume(ctx context.Context, req *api.VolumeAssignment) error NodePublishVolume(ctx context.Context, req *api.VolumeAssignment) error NodeUnpublishVolume(ctx context.Context, req *api.VolumeAssignment) error }
func NewNodePlugin ¶
func NewNodePlugin(name string, pc plugingetter.CompatPlugin, pa plugingetter.PluginAddr, secrets SecretGetter) NodePlugin
type PluginManager ¶
type PluginManager interface { // Get gets the plugin with the given name Get(name string) (NodePlugin, error) // NodeInfo returns the NodeCSIInfo for every active plugin. NodeInfo(ctx context.Context) ([]*api.NodeCSIInfo, error) }
PluginManager manages the multiple CSI plugins that may be in use on the node. PluginManager should be thread-safe.
func NewPluginManager ¶
func NewPluginManager(pg plugingetter.PluginGetter, secrets SecretGetter) PluginManager
Click to show internal directories.
Click to hide internal directories.