func()

in pkg/service/jenkins/jenkins.go [511:540]


func (j JenkinsServiceImpl) handleEmptyAdminTokenSecret(instance *jenkinsApi.Jenkins, adminTokenSecretName string,
) (*jenkinsApi.Jenkins, error) {
	jc, err := j.newJenkinsClient(instance)
	if err != nil {
		return instance, fmt.Errorf("failed to create new JenkinsClient: %w", err)
	}

	token, getAdminTokenErr := jc.GetAdminToken()
	if getAdminTokenErr != nil {
		return instance, fmt.Errorf("failed to get token from admin user: %w", getAdminTokenErr)
	}

	if err = j.createSecret(instance, adminTokenSecretName, jenkinsDefaultSpec.JenkinsDefaultAdminUser, token); err != nil {
		return instance, fmt.Errorf("failed to create secret: %w", err)
	}

	adminTokenAnnotationKey := helper.GenerateAnnotationKey(jenkinsDefaultSpec.JenkinsTokenAnnotationSuffix)
	setAnnotation(instance, adminTokenAnnotationKey, adminTokenSecretName)

	if err = j.k8sClient.Update(context.TODO(), instance); err != nil {
		return instance, fmt.Errorf("failed to update jenkins instance: %w", err)
	}

	updatedInstance, setSecretErr := j.setAdminSecretInStatus(instance, adminTokenSecretName)
	if setSecretErr != nil {
		return instance, fmt.Errorf("failed to set AdminSecret in Status: %w", setSecretErr)
	}

	return updatedInstance, nil
}