package main import ( "os" hclog "github.com/hashicorp/go-hclog" "github.com/hashicorp/vault/builtin/logical/mssql" "github.com/hashicorp/vault/helper/pluginutil" "github.com/hashicorp/vault/logical/plugin" ) func main() { apiClientMeta := &pluginutil.APIClientMeta{} flags := apiClientMeta.FlagSet() flags.Parse(os.Args[1:]) tlsConfig := apiClientMeta.GetTLSConfig() tlsProviderFunc := pluginutil.VaultPluginTLSProvider(tlsConfig) if err := plugin.Serve(&plugin.ServeOpts{ BackendFactoryFunc: mssql.Factory, TLSProviderFunc: tlsProviderFunc, }); err != nil { logger := hclog.New(&hclog.LoggerOptions{}) logger.Error("plugin shutting down", "error", err) os.Exit(1) } }