func()

in internal/resource/ingress.go [37:52]


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