in pkg/client/jenkins/jenkins.go [46:75]
func InitJenkinsClient(instance *jenkinsApi.Jenkins, platformService platform.PlatformService) (*JenkinsClient, error) {
apiUrl := instance.Spec.RestAPIUrl
if apiUrl == "" {
h, s, p, err := platformService.GetExternalEndpoint(instance.Namespace, instance.Name)
if err != nil {
return nil, fmt.Errorf("unable to get route for %s, err: %w", instance.Name, err)
}
apiUrl = fmt.Sprintf("%v://%v%v", s, h, p)
}
if instance.Status.AdminSecretName == "" {
log.V(1).Info("Admin secret is not created yet")
return nil, nil
}
adminSecret, err := platformService.GetSecretData(instance.Namespace, instance.Status.AdminSecretName)
if err != nil {
return nil, fmt.Errorf("failed to get admin secret for %v: %w", instance.Name, err)
}
jc := &JenkinsClient{
instance: instance,
PlatformService: platformService,
resty: resty.SetHostURL(apiUrl).SetBasicAuth(string(adminSecret[usernameKey]), string(adminSecret["password"])),
}
return jc, nil
}