diff --git a/internal/ingress/controller/controller.go b/internal/ingress/controller/controller.go index 49e8aa0bb..f951ad1cc 100644 --- a/internal/ingress/controller/controller.go +++ b/internal/ingress/controller/controller.go @@ -134,6 +134,8 @@ type Configuration struct { DeepInspector bool DynamicConfigurationRetries int + + EnableAnnotationsPrefixCheck bool DisableSyncEvents bool @@ -310,7 +312,8 @@ func (n *NGINXController) CheckIngress(ing *networking.Ingress) error { for key, value := range ing.ObjectMeta.GetAnnotations() { - if parser.AnnotationsPrefix != parser.DefaultAnnotationsPrefix { + klog.Warningf("EnableAnnotationsPrefixCheck set to false, Ignoring annotation check.") + if n.cfg.EnableAnnotationsPrefixCheck && parser.AnnotationsPrefix != parser.DefaultAnnotationsPrefix { if strings.HasPrefix(key, fmt.Sprintf("%s/", parser.DefaultAnnotationsPrefix)) { return fmt.Errorf("This deployment has a custom annotation prefix defined. Use '%s' instead of '%s'", parser.AnnotationsPrefix, parser.DefaultAnnotationsPrefix) } diff --git a/pkg/flags/flags.go b/pkg/flags/flags.go index 370510380..81c99c26e 100644 --- a/pkg/flags/flags.go +++ b/pkg/flags/flags.go @@ -35,6 +35,7 @@ import ( "k8s.io/ingress-nginx/internal/ingress/status" ing_net "k8s.io/ingress-nginx/internal/net" "k8s.io/ingress-nginx/internal/nginx" + "k8s.io/ingress-nginx/pkg/apis/ingress" klog "k8s.io/klog/v2" ) @@ -216,9 +217,13 @@ Takes the form ":port". If not provided, no admission controller is starte dynamicConfigurationRetries = flags.Int("dynamic-configuration-retries", 15, "Number of times to retry failed dynamic configuration before failing to sync an ingress.") +<<<<<<< HEAD disableSyncEvents = flags.Bool("disable-sync-events", false, "Disables the creation of 'Sync' event resources") enableTopologyAwareRouting = flags.Bool("enable-topology-aware-routing", false, "Enable topology aware hints feature, needs service object annotation service.kubernetes.io/topology-aware-hints sets to auto.") +======= + enableAnnotationsPrefixCheck = flags.Bool("enable-annotations-prefix-check", true, "Enables check for value of legacy ingressclass annotation") +>>>>>>> 2ea8b7a8f (Add flag for disabling legacy ingress class annotation prefix check) ) flags.StringVar(&nginx.MaxmindMirror, "maxmind-mirror", "", `Maxmind mirror url (example: http://geoip.local/databases.`) @@ -372,6 +377,7 @@ https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-g ValidationWebhookKeyPath: *validationWebhookKey, InternalLoggerAddress: *internalLoggerAddress, DisableSyncEvents: *disableSyncEvents, + EnableAnnotationsPrefixCheck: *enableAnnotationsPrefixCheck, } if *apiserverHost != "" {