mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-31 18:48:08 +00:00 
			
		
		
		
	 a69ee0f65a
			
		
	
	a69ee0f65a
	
	
	
		
			
			This is part 1 of 4 for renaming the `newdbplugin` package. This copies the existing package to the new location but keeps the current one in place so we can migrate the existing references over more easily.
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package dbplugin
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 
 | |
| 	"github.com/hashicorp/go-plugin"
 | |
| 	"github.com/hashicorp/vault/sdk/database/dbplugin/v5/proto"
 | |
| 	"google.golang.org/grpc"
 | |
| )
 | |
| 
 | |
| // handshakeConfigs are used to just do a basic handshake between
 | |
| // a plugin and host. If the handshake fails, a user friendly error is shown.
 | |
| // This prevents users from executing bad plugins or executing a plugin
 | |
| // directory. It is a UX feature, not a security feature.
 | |
| var handshakeConfig = plugin.HandshakeConfig{
 | |
| 	ProtocolVersion:  5,
 | |
| 	MagicCookieKey:   "VAULT_DATABASE_PLUGIN",
 | |
| 	MagicCookieValue: "926a0820-aea2-be28-51d6-83cdf00e8edb",
 | |
| }
 | |
| 
 | |
| type GRPCDatabasePlugin struct {
 | |
| 	Impl Database
 | |
| 
 | |
| 	// Embeding this will disable the netRPC protocol
 | |
| 	plugin.NetRPCUnsupportedPlugin
 | |
| }
 | |
| 
 | |
| var _ plugin.Plugin = &GRPCDatabasePlugin{}
 | |
| var _ plugin.GRPCPlugin = &GRPCDatabasePlugin{}
 | |
| 
 | |
| func (d GRPCDatabasePlugin) GRPCServer(_ *plugin.GRPCBroker, s *grpc.Server) error {
 | |
| 	proto.RegisterDatabaseServer(s, gRPCServer{impl: d.Impl})
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| func (GRPCDatabasePlugin) GRPCClient(doneCtx context.Context, _ *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error) {
 | |
| 	client := gRPCClient{
 | |
| 		client:  proto.NewDatabaseClient(c),
 | |
| 		doneCtx: doneCtx,
 | |
| 	}
 | |
| 	return client, nil
 | |
| }
 |