in pkg/client/sonar/provider.go [27:46]
func (p *ApiClientProvider) GetSonarApiClientFromSonar(ctx context.Context, sonar *sonarApi.Sonar) (*Client, error) {
secret := corev1.Secret{}
if err := p.k8sClient.Get(ctx, types.NamespacedName{
Name: sonar.Spec.Secret,
Namespace: sonar.Namespace,
}, &secret); err != nil {
return nil, fmt.Errorf("failed to get sonar secret: %w", err)
}
if secret.Data["user"] == nil {
return nil, fmt.Errorf("sonar secret doesn't contain user")
}
password := ""
if secret.Data["password"] != nil {
password = string(secret.Data["password"])
}
return NewClient(sonar.Spec.Url, string(secret.Data["user"]), password), nil
}