Add protobuf config and generated code, and client wrapper
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
package secretsmanagerplugin
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/hashicorp/go-plugin"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
type SecretsManagerPlugin interface {
|
||||
RemoteSecretsManagerClient
|
||||
}
|
||||
|
||||
type SecretsManagerGRPCPlugin struct {
|
||||
plugin.NetRPCUnsupportedPlugin
|
||||
}
|
||||
|
||||
func (p *SecretsManagerGRPCPlugin) GRPCServer(broker *plugin.GRPCBroker, s *grpc.Server) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *SecretsManagerGRPCPlugin) GRPCClient(ctx context.Context, broker *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error) {
|
||||
return &SecretsManagerGRPCClient{NewRemoteSecretsManagerClient(c)}, nil
|
||||
}
|
||||
|
||||
type SecretsManagerGRPCClient struct {
|
||||
RemoteSecretsManagerClient
|
||||
}
|
||||
|
||||
// Get an item from the store
|
||||
func (sm *SecretsManagerGRPCClient) Get(ctx context.Context, req *SecretsGetRequest, opts ...grpc.CallOption) (*SecretsGetResponse, error) {
|
||||
return sm.RemoteSecretsManagerClient.Get(ctx, req)
|
||||
}
|
||||
|
||||
// Set an item in the store
|
||||
func (sm *SecretsManagerGRPCClient) Set(ctx context.Context, req *SecretsSetRequest, opts ...grpc.CallOption) (*SecretsErrorResponse, error) {
|
||||
return sm.RemoteSecretsManagerClient.Set(ctx, req)
|
||||
}
|
||||
|
||||
// Del deletes an item from the store.
|
||||
func (sm *SecretsManagerGRPCClient) Del(ctx context.Context, req *SecretsDelRequest, opts ...grpc.CallOption) (*SecretsErrorResponse, error) {
|
||||
return sm.RemoteSecretsManagerClient.Del(ctx, req)
|
||||
}
|
||||
|
||||
// Keys get all keys for a given namespace.
|
||||
func (sm *SecretsManagerGRPCClient) Keys(ctx context.Context, req *SecretsKeysRequest, opts ...grpc.CallOption) (*SecretsKeysResponse, error) {
|
||||
return sm.RemoteSecretsManagerClient.Keys(ctx, req)
|
||||
}
|
||||
|
||||
// Rename an item in the store
|
||||
func (sm *SecretsManagerGRPCClient) Rename(ctx context.Context, req *SecretsRenameRequest, opts ...grpc.CallOption) (*SecretsErrorResponse, error) {
|
||||
return sm.RemoteSecretsManagerClient.Rename(ctx, req)
|
||||
}
|
||||
|
||||
var _ RemoteSecretsManagerClient = &SecretsManagerGRPCClient{}
|
||||
var _ plugin.GRPCPlugin = &SecretsManagerGRPCPlugin{}
|
||||
Reference in New Issue
Block a user