code: func (s *storeImpl) GetSecret(k secrets.Key) (secrets.Secret, error) {
  	secret, err := secretsCache.LRU(s.ctx).GetOrCreate(s.ctx, s.cfg.Prefix+":"+string(k), func() (interface{}, time.Duration, error) {
  		secret, err := s.getSecretFromDatastore(k)
  		if err != nil {
  			return nil, 0, err
  		}
  		return secret, cacheExp, nil
  	})
  	if err != nil {
  		return secrets.Secret{}, err
  	}
  	return secret.(secrets.Secret).Clone(), nil
  }
docs: // GetSecret returns a secret by its key.