Unistore: Wire up inline secure values (#110072)

* Unistore: Wire up inline secure values

* add validation and test

* linter
This commit is contained in:
Stephanie Hingtgen
2025-08-25 02:48:49 -06:00
committed by GitHub
parent e7ccefcf92
commit 1091054c25
4 changed files with 149 additions and 27 deletions
+16
View File
@@ -2,6 +2,7 @@ package sql
import (
"context"
"fmt"
"os"
"strings"
@@ -13,6 +14,7 @@ import (
"github.com/grafana/dskit/services"
infraDB "github.com/grafana/grafana/pkg/infra/db"
secrets "github.com/grafana/grafana/pkg/registry/apis/secret/contracts"
inlinesecurevalue "github.com/grafana/grafana/pkg/registry/apis/secret/inline"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/services/sqlstore/migrator"
"github.com/grafana/grafana/pkg/setting"
@@ -48,6 +50,20 @@ func NewResourceServer(
opts ServerOptions,
) (resource.ResourceServer, error) {
apiserverCfg := opts.Cfg.SectionWithEnvOverrides("grafana-apiserver")
if opts.SecureValues == nil && opts.Cfg != nil && opts.Cfg.SecretsManagement.GrpcClientEnable {
inlineSecureValueService, err := inlinesecurevalue.ProvideInlineSecureValueService(
opts.Cfg,
opts.Tracer,
nil, // not needed for gRPC client mode
nil, // not needed for gRPC client mode
)
if err != nil {
return nil, fmt.Errorf("failed to create inline secure value service: %w", err)
}
opts.SecureValues = inlineSecureValueService
}
serverOptions := resource.ResourceServerOptions{
Tracer: opts.Tracer,
Blob: resource.BlobConfig{