2023-04-25 13:01:49 +02:00
|
|
|
package keystore
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/grafana/grafana/pkg/infra/kvstore"
|
|
|
|
|
"github.com/grafana/grafana/pkg/plugins"
|
2023-09-05 16:20:42 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/pluginsintegration/cachekvstore"
|
2023-04-25 13:01:49 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// Service is a service for storing and retrieving public keys.
|
|
|
|
|
type Service struct {
|
2023-09-05 16:20:42 +02:00
|
|
|
*cachekvstore.CacheKvStore
|
2023-04-25 13:01:49 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const (
|
2023-09-05 16:20:42 +02:00
|
|
|
namespace = "plugin.publickeys"
|
|
|
|
|
prefix = "key-"
|
2023-04-25 13:01:49 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var _ plugins.KeyStore = (*Service)(nil)
|
|
|
|
|
|
|
|
|
|
func ProvideService(kv kvstore.KVStore) *Service {
|
|
|
|
|
return &Service{
|
2023-09-05 16:20:42 +02:00
|
|
|
CacheKvStore: cachekvstore.NewCacheKvStoreWithPrefix(kv, namespace, prefix),
|
2023-04-25 13:01:49 +02:00
|
|
|
}
|
|
|
|
|
}
|