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
}