get.porter.sh/porter@v1.3.0/pkg/secrets/plugins/filesystem/plugin.go (about)

     1  package filesystem
     2  
     3  import (
     4  	"get.porter.sh/porter/pkg/config"
     5  	"get.porter.sh/porter/pkg/secrets"
     6  	"get.porter.sh/porter/pkg/secrets/plugins"
     7  	"get.porter.sh/porter/pkg/secrets/pluginstore"
     8  	"github.com/hashicorp/go-plugin"
     9  )
    10  
    11  const PluginKey = plugins.PluginInterface + ".porter.filesystem"
    12  
    13  var _ plugins.SecretsProtocol = &Plugin{}
    14  
    15  // Plugin is the plugin wrapper for accessing secrets from a local filesystem.
    16  type Plugin struct {
    17  	secrets.Store
    18  }
    19  
    20  func NewPlugin(c *config.Config, rawCfg interface{}) plugin.Plugin {
    21  	impl := NewStore(c)
    22  	return pluginstore.NewPlugin(c.Context, impl)
    23  }