MCPcopy
hub / github.com/grafana/tempo / initBackend

Function initBackend

modules/overrides/userconfigurable/client/client.go:114–146  ·  view source on GitHub ↗
(cfg *Config)

Source from the content-addressed store, hash-verified

112}
113
114func initBackend(cfg *Config) (rw backend.VersionedReaderWriter, err error) {
115 switch cfg.Backend {
116 case backend.Local:
117 r, w, _, err := local.New(cfg.Local)
118 if err != nil {
119 return nil, err
120 }
121 // Create overrides directory with necessary permissions
122 err = os.MkdirAll(path.Join(cfg.Local.Path, OverridesKeyPath), 0o700)
123 if err != nil {
124 return nil, err
125 }
126 rw = backend.NewFakeVersionedReaderWriter(r, w)
127 case backend.GCS:
128 rw, err = gcs.NewVersionedReaderWriter(cfg.GCS, cfg.ConfirmVersioning)
129 case backend.S3:
130 rw, err = s3.NewVersionedReaderWriter(cfg.S3)
131 case backend.Azure:
132 rw, err = azure.NewVersionedReaderWriter(cfg.Azure)
133 default:
134 err = fmt.Errorf("unknown backend %s", cfg.Backend)
135 }
136 if err != nil {
137 return nil, err
138 }
139 if cfg.Backend == backend.Local || cfg.Backend == backend.S3 || cfg.Backend == backend.Azure {
140 level.Warn(log.Logger).Log(
141 "msg", "versioned backend requests are best-effort for the configured backend, concurrent requests modifying user-configurable overrides might cause data races",
142 "backend", cfg.Backend,
143 )
144 }
145 return rw, nil
146}
147
148func (o *clientImpl) List(ctx context.Context) ([]string, error) {
149 ctx, span := tracer.Start(ctx, "clientImpl.List")

Callers 1

NewFunction · 0.85

Calls 7

NewFunction · 0.92
NewVersionedReaderWriterFunction · 0.92
NewVersionedReaderWriterFunction · 0.92
NewVersionedReaderWriterFunction · 0.92
JoinMethod · 0.65
LogMethod · 0.65

Tested by

no test coverage detected