Return plugin error when requesting settings (#86052)

This commit is contained in:
Andres Martinez Gotor
2024-04-18 14:29:02 +02:00
committed by GitHub
parent 8373fc3544
commit eac02a61e1
7 changed files with 129 additions and 1 deletions
@@ -36,3 +36,7 @@ func (t *fakeErrorTracker) Errors(ctx context.Context) []*plugins.Error {
}
return nil
}
func (t *fakeErrorTracker) Error(ctx context.Context, pluginID string) *plugins.Error {
return &plugins.Error{}
}
@@ -65,10 +65,10 @@ func ProvideInitializationStage(cfg *config.PluginManagementCfg, pr registry.Ser
InitializeFuncs: []initialization.InitializeFunc{
ExternalServiceRegistrationStep(cfg, externalServiceRegistry, tracer),
initialization.BackendClientInitStep(pluginEnvProvider, bp),
initialization.PluginRegistrationStep(pr),
initialization.BackendProcessStartStep(pm),
RegisterPluginRolesStep(roleRegistry),
ReportBuildMetrics,
initialization.PluginRegistrationStep(pr),
},
})
}
@@ -28,6 +28,16 @@ func (s *Store) PluginErrors(ctx context.Context) []*plugins.Error {
return errs
}
func (s *Store) PluginError(ctx context.Context, pluginID string) *plugins.Error {
err := s.errs.Error(ctx, pluginID)
if err == nil {
return nil
}
err.ErrorCode = err.AsErrorCode()
return err
}
type ErrorRegistry struct {
errs map[string]*plugins.Error
log log.Logger
@@ -37,6 +47,7 @@ type ErrorTracker interface {
Record(ctx context.Context, err *plugins.Error)
Clear(ctx context.Context, pluginID string)
Errors(ctx context.Context) []*plugins.Error
Error(ctx context.Context, pluginID string) *plugins.Error
}
func ProvideErrorTracker() *ErrorRegistry {
@@ -65,3 +76,7 @@ func (r *ErrorRegistry) Errors(_ context.Context) []*plugins.Error {
}
return errs
}
func (r *ErrorRegistry) Error(_ context.Context, pluginID string) *plugins.Error {
return r.errs[pluginID]
}