in pkg/service/platform/kubernetes/k8s.go [501:546]
func (s *K8SService) CreateJenkinsScript(namespace, name string, forceRecreate bool) (*jenkinsApi.JenkinsScript, error) {
js, err := s.getJenkinsScript(name, namespace)
if err != nil {
if k8sErrors.IsNotFound(err) {
newJenkinsScript := &jenkinsApi.JenkinsScript{
ObjectMeta: metav1.ObjectMeta{
Name: name,
Namespace: namespace,
},
Spec: jenkinsApi.JenkinsScriptSpec{
SourceCmName: name,
},
}
if err = s.client.Create(context.TODO(), newJenkinsScript); err != nil {
return nil, fmt.Errorf("failed to create jenkins script: %w", err)
}
return newJenkinsScript, nil
}
return nil, fmt.Errorf("failed to getJenkinsScript: %w", err)
}
if forceRecreate {
if err := s.client.Delete(context.TODO(), js); err != nil {
return nil, fmt.Errorf("failed to delete jenkins script: %w", err)
}
js = &jenkinsApi.JenkinsScript{
ObjectMeta: metav1.ObjectMeta{
Name: name,
Namespace: namespace,
},
Spec: jenkinsApi.JenkinsScriptSpec{
SourceCmName: name,
},
}
if err := s.client.Create(context.TODO(), js); err != nil {
return nil, fmt.Errorf("failed to create jenkins script: %w", err)
}
}
return js, nil
}