1package main 2 3import ( 4 "os" 5 6 hclog "github.com/hashicorp/go-hclog" 7 "github.com/hashicorp/vault/api" 8 "github.com/hashicorp/vault/builtin/logical/mssql" 9 "github.com/hashicorp/vault/sdk/plugin" 10) 11 12func main() { 13 apiClientMeta := &api.PluginAPIClientMeta{} 14 flags := apiClientMeta.FlagSet() 15 flags.Parse(os.Args[1:]) 16 17 tlsConfig := apiClientMeta.GetTLSConfig() 18 tlsProviderFunc := api.VaultPluginTLSProvider(tlsConfig) 19 20 if err := plugin.Serve(&plugin.ServeOpts{ 21 BackendFactoryFunc: mssql.Factory, 22 TLSProviderFunc: tlsProviderFunc, 23 }); err != nil { 24 logger := hclog.New(&hclog.LoggerOptions{}) 25 26 logger.Error("plugin shutting down", "error", err) 27 os.Exit(1) 28 } 29} 30