in appconfigmgrv2/controllers/ingress.go [36:71]
func (r *AppEnvConfigTemplateV2Reconciler) reconcileIngress(
ctx context.Context,
in *appconfig.AppEnvConfigTemplateV2,
) error {
ing := ingress(in)
if ing == nil {
if err := r.removeIngress(ctx, in); err != nil {
return fmt.Errorf("garbage collecting: %v", err)
}
return nil
}
if err := controllerutil.SetControllerReference(in, ing, r.Scheme); err != nil {
return fmt.Errorf("setting controller reference for ingress: %v", err)
}
log.Info("Reconciling", "resource", "ingress", "name", ing.Name, "namespace", ing.Namespace)
found := &v1beta1.Ingress{}
err := r.Get(ctx, types.NamespacedName{Name: ing.Name, Namespace: ing.Namespace}, found)
if err != nil && errors.IsNotFound(err) {
log.Info("Creating", "resource", "ingress", "namespace", ing.Namespace, "name", ing.Name)
err = r.Create(ctx, ing)
return err
} else if err != nil {
return err
}
if !reflect.DeepEqual(ing.Spec, found.Spec) {
log.Info("Updating", "resource", "ingress", "namespace", ing.Namespace, "name", ing.Name)
if err := r.Update(ctx, found); err != nil {
return err
}
}
return nil
}