in pkg/controller/jenkinsagent/controller.go [104:138]
func (r *Reconcile) tryToReconcile(ctx context.Context, instance *jenkinsApi.JenkinsAgent) error {
var slavesCm v1.ConfigMap
if err := r.client.Get(
ctx,
types.NamespacedName{
Namespace: instance.Namespace,
Name: jenkins.SlavesTemplateName,
},
&slavesCm,
); err != nil {
return fmt.Errorf("failed to get slaves config map: %w", err)
}
slavesCm.Data[instance.Spec.SalvesKey()] = instance.Spec.Template
if err := r.client.Update(ctx, &slavesCm); err != nil {
return fmt.Errorf("failed to update slaves config map: %w", err)
}
updateNeeded, err := helper.TryToDelete(instance, finalizerName, makeDeletionFunc(ctx, r.client, instance))
if err != nil {
return fmt.Errorf("failed to delete jenkins agent: %w", err)
}
if !updateNeeded {
return nil
}
if err := r.client.Update(ctx, instance); err != nil {
return fmt.Errorf("failed to update instance: %w", err)
}
return nil
}