func()

in internal/resource/service.go [37:53]


func (builder *ServiceBuilder) Update(object client.Object) error {
	var idx int
	serviceList := builder.Instance.Spec.ServiceList
	if idx = getServiceIndex(object, serviceList); idx == -1 {
		return fmt.Errorf("failed to update object: %w", errors.New("the specified Service does not exist: "+object.GetName()))
	}
	desired := serviceList[idx]
	current := object.(*v12.Service)
	current.Labels = metadata.GetLabels(builder.Instance.Name, builder.Instance.Labels)
	current.Annotations = desired.Annotations
	current.Spec = desired.ServiceSpec
	if err := controllerutil.SetControllerReference(builder.Instance, current, builder.Scheme); err != nil {
		return fmt.Errorf("failed setting controller reference: %w", err)
	}

	return nil
}