k8s-csi-s3/pkg/driver/identityserver.go

49 lines
1.4 KiB
Go
Raw Normal View History

2023-03-31 23:20:49 +02:00
package driver
2018-07-14 10:48:22 +02:00
2023-03-31 23:20:49 +02:00
import (
"github.com/container-storage-interface/spec/lib/go/csi"
"github.com/golang/glog"
"golang.org/x/net/context"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
2018-07-14 10:48:22 +02:00
2023-03-31 23:20:49 +02:00
type IdentityServer struct {
Driver *driver
}
2018-07-14 10:48:22 +02:00
2023-03-31 23:20:49 +02:00
func (ids *IdentityServer) GetPluginInfo(ctx context.Context, req *csi.GetPluginInfoRequest) (*csi.GetPluginInfoResponse, error) {
glog.V(5).Infof("Using default GetPluginInfo")
2018-07-14 10:48:22 +02:00
2023-03-31 23:20:49 +02:00
if ids.Driver.name == "" {
return nil, status.Error(codes.Unavailable, "Driver name not configured")
}
2018-07-14 10:48:22 +02:00
2023-03-31 23:20:49 +02:00
if ids.Driver.version == "" {
return nil, status.Error(codes.Unavailable, "Driver is missing version")
}
2018-07-14 10:48:22 +02:00
2023-03-31 23:20:49 +02:00
return &csi.GetPluginInfoResponse{
Name: ids.Driver.name,
VendorVersion: ids.Driver.version,
}, nil
2018-07-14 10:48:22 +02:00
}
2023-03-31 23:20:49 +02:00
func (ids *IdentityServer) Probe(ctx context.Context, req *csi.ProbeRequest) (*csi.ProbeResponse, error) {
return &csi.ProbeResponse{}, nil
}
func (ids *IdentityServer) GetPluginCapabilities(ctx context.Context, req *csi.GetPluginCapabilitiesRequest) (*csi.GetPluginCapabilitiesResponse, error) {
glog.V(5).Infof("Using default capabilities")
return &csi.GetPluginCapabilitiesResponse{
Capabilities: []*csi.PluginCapability{
{
Type: &csi.PluginCapability_Service_{
Service: &csi.PluginCapability_Service{
Type: csi.PluginCapability_Service_CONTROLLER_SERVICE,
},
},
},
},
}, nil
}