newUserConfigOverrides wraps the given overrides with user-configurable overrides.
(cfg *UserConfigurableOverridesConfig, subOverrides Service)
| 90 | |
| 91 | // newUserConfigOverrides wraps the given overrides with user-configurable overrides. |
| 92 | func newUserConfigOverrides(cfg *UserConfigurableOverridesConfig, subOverrides Service) (*userConfigurableOverridesManager, error) { |
| 93 | client, err := userconfigurableoverrides.New(&cfg.Client) |
| 94 | if err != nil { |
| 95 | return nil, fmt.Errorf("failed to initialize backend client for user-configurable overrides: %w", err) |
| 96 | } |
| 97 | |
| 98 | mgr := userConfigurableOverridesManager{ |
| 99 | Interface: subOverrides, |
| 100 | cfg: cfg, |
| 101 | tenantLimits: make(tenantLimits), |
| 102 | client: client, |
| 103 | logger: log.With(tempo_log.Logger, "component", "user-configurable overrides"), |
| 104 | } |
| 105 | |
| 106 | mgr.subservices, err = services.NewManager(subOverrides) |
| 107 | if err != nil { |
| 108 | return nil, fmt.Errorf("failed to create subservices: %w", err) |
| 109 | } |
| 110 | mgr.subservicesWatcher = services.NewFailureWatcher() |
| 111 | mgr.subservicesWatcher.WatchManager(mgr.subservices) |
| 112 | |
| 113 | mgr.Service = services.NewBasicService(mgr.starting, mgr.running, mgr.stopping) |
| 114 | |
| 115 | return &mgr, nil |
| 116 | } |
| 117 | |
| 118 | func (o *userConfigurableOverridesManager) starting(ctx context.Context) error { |
| 119 | if err := services.StartManagerAndAwaitHealthy(ctx, o.subservices); err != nil { |
no outgoing calls