// SPDX-License-Identifier: MPL-2.0 // Copyright (c) HashiCorp, Inc. // Copyright (c) Matter Labs package main import ( "os" hclog "github.com/hashicorp/go-hclog" "github.com/hashicorp/vault/api" "github.com/hashicorp/vault/sdk/plugin" "github.com/matter-labs/vault-auth-tee/tee" ) func main() { apiClientMeta := &api.PluginAPIClientMeta{} flags := apiClientMeta.FlagSet() flags.Parse(os.Args[1:]) tlsConfig := apiClientMeta.GetTLSConfig() tlsProviderFunc := api.VaultPluginTLSProvider(tlsConfig) if err := plugin.ServeMultiplex(&plugin.ServeOpts{ BackendFactoryFunc: tee.Factory, // set the TLSProviderFunc so that the plugin maintains backwards // compatibility with Vault versions that don’t support plugin AutoMTLS TLSProviderFunc: tlsProviderFunc, }); err != nil { logger := hclog.New(&hclog.LoggerOptions{}) logger.Error("plugin shutting down", "error", err) os.Exit(1) } }