From 5d6c096466e3de721fc06027bcf888a844980989 Mon Sep 17 00:00:00 2001 From: Manuel Alejandro de Brito Fontes Date: Tue, 31 Mar 2020 17:08:46 -0300 Subject: [PATCH] Set new default PathType to prefix --- internal/ingress/controller/store/store.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/internal/ingress/controller/store/store.go b/internal/ingress/controller/store/store.go index 478185664..0a8fb117f 100644 --- a/internal/ingress/controller/store/store.go +++ b/internal/ingress/controller/store/store.go @@ -950,11 +950,15 @@ func toIngress(obj interface{}) (*networkingv1beta1.Ingress, bool) { } ing.Spec.IngressClassName = extractClassName(ing) + setDefaultPathTypeIfEmpty(ing) + return ing, true } if ing, ok := obj.(*networkingv1beta1.Ingress); ok { ing.Spec.IngressClassName = extractClassName(ing) + setDefaultPathTypeIfEmpty(ing) + return ing, true } @@ -968,3 +972,20 @@ func extractClassName(ing *networkingv1beta1.Ingress) *string { return nil } + +// Default path type is Prefix to not break existing definitions +var defaultPathType = networkingv1beta1.PathTypePrefix + +func setDefaultPathTypeIfEmpty(ing *networkingv1beta1.Ingress) { + for _, rule := range ing.Spec.Rules { + if rule.IngressRuleValue.HTTP == nil { + continue + } + + for _, path := range rule.IngressRuleValue.HTTP.Paths { + if path.PathType == nil { + path.PathType = &defaultPathType + } + } + } +}