fmt.Sprintf("Invalid UID '%s' for data source %s",ds.UID,ds.Name),
"Check the <a href='https://grafana.com/docs/grafana/latest/upgrade-guide/upgrade-v11.2/#grafana-data-source-uid-format-enforcement' target=_blank>documentation</a> for more information.",
fmt.Sprintf("Invalid UID '%s' for data source %s",ds.UID,ds.Name),
"Check the <a href='https://grafana.com/docs/grafana/latest/upgrade-guide/upgrade-v11.2/#grafana-data-source-uid-format-enforcement' target=_blank>documentation</a> for more information.",
s.ID(),
ds.UID,
),nil
}
returnnil,nil
}
typehealthCheckStepstruct{
@ -115,46 +111,38 @@ func (s *healthCheckStep) ID() string {
"Check the <a href='https://grafana.com/legal/plugin-deprecation/#a-plugin-i-use-is-deprecated-what-should-i-do' target=_blank>documentation</a> for recommended steps.",
s.ID(),
p.ID,
))
}
// Check if plugin is deprecated
i,err:=s.PluginRepo.PluginInfo(ctx,p.ID)
iferr!=nil{
// Unable to check deprecation status
returnnil,nil
}
returnerrs,nil
ifi.Status=="deprecated"{
returnchecks.NewCheckReportError(
advisor.CheckReportErrorSeverityHigh,
fmt.Sprintf("Plugin deprecated: %s",p.ID),
"Check the <a href='https://grafana.com/legal/plugin-deprecation/#a-plugin-i-use-is-deprecated-what-should-i-do' target=_blank>documentation</a> for recommended steps.",
s.ID(),
p.ID,
),nil
}
returnnil,nil
}
typeupdateStepstruct{
@ -127,44 +125,42 @@ func (s *updateStep) ID() string {