func()

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
}