package driver
import (
"context"
csi "github.com/container-storage-interface/spec/lib/go/csi"
"k8s.io/klog/v2"
)
type IdentityServer struct {
name string
version string
}
func NewIdentityServer(name, version string) *IdentityServer {
return &IdentityServer{name: name, version: version}
}
func (ids *IdentityServer) GetPluginInfo(
ctx context.Context,
req *csi.GetPluginInfoRequest,
) (*csi.GetPluginInfoResponse, error) {
klog.InfoS("GetPluginInfo called")
return &csi.GetPluginInfoResponse{
Name: ids.name,
VendorVersion: ids.version,
}, nil
}
func (ids *IdentityServer) GetPluginCapabilities(
ctx context.Context,
req *csi.GetPluginCapabilitiesRequest,
) (*csi.GetPluginCapabilitiesResponse, error) {
klog.InfoS("GetPluginCapabilities called")
return &csi.GetPluginCapabilitiesResponse{
Capabilities: []*csi.PluginCapability{
{
Type: &csi.PluginCapability_Service_{
Service: &csi.PluginCapability_Service{
Type: csi.PluginCapability_Service_CONTROLLER_SERVICE,
},
},
},
},
}, nil
}
func (ids *IdentityServer) Probe(
ctx context.Context,
req *csi.ProbeRequest,
) (*csi.ProbeResponse, error) {
klog.InfoS("Probe called")
return &csi.ProbeResponse{}, nil
}