示例#1
0
func getStore(c *cli.Context) (store.SecretStore, error) {
	b := backend(c.GlobalString("backend"))
	addr := c.GlobalString("addr")
	opts := getStoreOpts(c)

	storeConfig := &store.Config{
		StoreOpts: opts,
	}

	return libsecret.NewSecretStore(b, addr, storeConfig)
}
示例#2
0
func NewFS(mountpoint string, storeBackend store.Backend, storeAddr string, storeOpts map[string]interface{}) (*FS, error) {
	c := make(chan error)
	go func() {
		err := <-c
		log.Errorf("fs: %s", err.Error())
	}()

	storeConfig := &store.Config{
		StoreOpts: storeOpts,
	}

	secretStore, err := libsecret.NewSecretStore(storeBackend, storeAddr, storeConfig)
	if err != nil {
		return nil, err
	}

	return &FS{
		mountpoint: mountpoint,
		errChan:    c,
		store:      secretStore,
		files:      map[string]*File{},
	}, nil
}