@@ -66,6 +66,7 @@ func SetupIndexer(mgr ctrl.Manager) error {
6666 & v1alpha1.Consumer {}: setupConsumerIndexer ,
6767 & networkingv1.Ingress {}: setupIngressIndexer ,
6868 & networkingv1.IngressClass {}: setupIngressClassIndexer ,
69+ & networkingv1beta1.Ingress {}: setupIngressV1beta1Indexer ,
6970 & networkingv1beta1.IngressClass {}: setupIngressClassV1beta1Indexer ,
7071 & v1alpha1.BackendTrafficPolicy {}: setupBackendTrafficPolicyIndexer ,
7172 } {
@@ -412,6 +413,37 @@ func setupIngressIndexer(mgr ctrl.Manager) error {
412413 return nil
413414}
414415
416+ func setupIngressV1beta1Indexer (mgr ctrl.Manager ) error {
417+ if err := mgr .GetFieldIndexer ().IndexField (
418+ context .Background (),
419+ & networkingv1beta1.Ingress {},
420+ IngressClassRef ,
421+ IngressClassRefIndexFunc ,
422+ ); err != nil {
423+ return err
424+ }
425+
426+ if err := mgr .GetFieldIndexer ().IndexField (
427+ context .Background (),
428+ & networkingv1beta1.Ingress {},
429+ ServiceIndexRef ,
430+ IngressServiceIndexFunc ,
431+ ); err != nil {
432+ return err
433+ }
434+
435+ if err := mgr .GetFieldIndexer ().IndexField (
436+ context .Background (),
437+ & networkingv1beta1.Ingress {},
438+ SecretIndexRef ,
439+ IngressSecretIndexFunc ,
440+ ); err != nil {
441+ return err
442+ }
443+
444+ return nil
445+ }
446+
415447func setupBackendTrafficPolicyIndexer (mgr ctrl.Manager ) error {
416448 if err := mgr .GetFieldIndexer ().IndexField (
417449 context .Background (),
@@ -443,15 +475,46 @@ func IngressClassIndexFunc(rawObj client.Object) []string {
443475}
444476
445477func IngressClassRefIndexFunc (rawObj client.Object ) []string {
446- ingress := rawObj .(* networkingv1.Ingress )
478+ switch ingress := rawObj .(type ) {
479+ case * networkingv1.Ingress :
480+ return ingressClassRefIndexFromV1 (ingress )
481+ case * networkingv1beta1.Ingress :
482+ return ingressClassRefIndexFromV1 (utils .ConvertIngressV1beta1ToV1 (ingress ))
483+ default :
484+ return nil
485+ }
486+ }
487+
488+ func IngressServiceIndexFunc (rawObj client.Object ) []string {
489+ switch ingress := rawObj .(type ) {
490+ case * networkingv1.Ingress :
491+ return ingressServiceIndexFromV1 (ingress )
492+ case * networkingv1beta1.Ingress :
493+ return ingressServiceIndexFromV1 (utils .ConvertIngressV1beta1ToV1 (ingress ))
494+ default :
495+ return nil
496+ }
497+ }
498+
499+ func IngressSecretIndexFunc (rawObj client.Object ) []string {
500+ switch ingress := rawObj .(type ) {
501+ case * networkingv1.Ingress :
502+ return ingressSecretIndexFromV1 (ingress )
503+ case * networkingv1beta1.Ingress :
504+ return ingressSecretIndexFromV1 (utils .ConvertIngressV1beta1ToV1 (ingress ))
505+ default :
506+ return nil
507+ }
508+ }
509+
510+ func ingressClassRefIndexFromV1 (ingress * networkingv1.Ingress ) []string {
447511 if ingress .Spec .IngressClassName == nil {
448512 return nil
449513 }
450514 return []string {* ingress .Spec .IngressClassName }
451515}
452516
453- func IngressServiceIndexFunc (rawObj client.Object ) []string {
454- ingress := rawObj .(* networkingv1.Ingress )
517+ func ingressServiceIndexFromV1 (ingress * networkingv1.Ingress ) []string {
455518 var services []string
456519
457520 for _ , rule := range ingress .Spec .Rules {
@@ -470,8 +533,7 @@ func IngressServiceIndexFunc(rawObj client.Object) []string {
470533 return services
471534}
472535
473- func IngressSecretIndexFunc (rawObj client.Object ) []string {
474- ingress := rawObj .(* networkingv1.Ingress )
536+ func ingressSecretIndexFromV1 (ingress * networkingv1.Ingress ) []string {
475537 secrets := make ([]string , 0 )
476538
477539 for _ , tls := range ingress .Spec .TLS {
0 commit comments