@@ -65,6 +65,7 @@ func SetupIndexer(mgr ctrl.Manager) error {
6565 & gatewayv1.GatewayClass {}: setupGatewayClassIndexer ,
6666 & v1alpha1.Consumer {}: setupConsumerIndexer ,
6767 & networkingv1.Ingress {}: setupIngressIndexer ,
68+ & networkingv1beta1.Ingress {}: setupIngressV1beta1Indexer ,
6869 & networkingv1.IngressClass {}: setupIngressClassIndexer ,
6970 & networkingv1beta1.IngressClass {}: setupIngressClassV1beta1Indexer ,
7071 & v1alpha1.BackendTrafficPolicy {}: setupBackendTrafficPolicyIndexer ,
@@ -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+ IngressV1beta1ClassRefIndexFunc ,
422+ ); err != nil {
423+ return err
424+ }
425+
426+ if err := mgr .GetFieldIndexer ().IndexField (
427+ context .Background (),
428+ & networkingv1beta1.Ingress {},
429+ ServiceIndexRef ,
430+ IngressV1beta1ServiceIndexFunc ,
431+ ); err != nil {
432+ return err
433+ }
434+
435+ if err := mgr .GetFieldIndexer ().IndexField (
436+ context .Background (),
437+ & networkingv1beta1.Ingress {},
438+ SecretIndexRef ,
439+ IngressV1beta1SecretIndexFunc ,
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 (),
@@ -450,6 +482,14 @@ func IngressClassRefIndexFunc(rawObj client.Object) []string {
450482 return []string {* ingress .Spec .IngressClassName }
451483}
452484
485+ func IngressV1beta1ClassRefIndexFunc (rawObj client.Object ) []string {
486+ ingress := rawObj .(* networkingv1beta1.Ingress )
487+ if ingress .Spec .IngressClassName == nil {
488+ return nil
489+ }
490+ return []string {* ingress .Spec .IngressClassName }
491+ }
492+
453493func IngressServiceIndexFunc (rawObj client.Object ) []string {
454494 ingress := rawObj .(* networkingv1.Ingress )
455495 var services []string
@@ -470,6 +510,26 @@ func IngressServiceIndexFunc(rawObj client.Object) []string {
470510 return services
471511}
472512
513+ func IngressV1beta1ServiceIndexFunc (rawObj client.Object ) []string {
514+ ingress := rawObj .(* networkingv1beta1.Ingress )
515+ var services []string
516+
517+ for _ , rule := range ingress .Spec .Rules {
518+ if rule .HTTP == nil {
519+ continue
520+ }
521+
522+ for _ , path := range rule .HTTP .Paths {
523+ if path .Backend .ServiceName == "" {
524+ continue
525+ }
526+ key := GenIndexKey (ingress .Namespace , path .Backend .ServiceName )
527+ services = append (services , key )
528+ }
529+ }
530+ return services
531+ }
532+
473533func IngressSecretIndexFunc (rawObj client.Object ) []string {
474534 ingress := rawObj .(* networkingv1.Ingress )
475535 secrets := make ([]string , 0 )
@@ -485,6 +545,21 @@ func IngressSecretIndexFunc(rawObj client.Object) []string {
485545 return secrets
486546}
487547
548+ func IngressV1beta1SecretIndexFunc (rawObj client.Object ) []string {
549+ ingress := rawObj .(* networkingv1beta1.Ingress )
550+ secrets := make ([]string , 0 )
551+
552+ for _ , tls := range ingress .Spec .TLS {
553+ if tls .SecretName == "" {
554+ continue
555+ }
556+
557+ key := GenIndexKey (ingress .Namespace , tls .SecretName )
558+ secrets = append (secrets , key )
559+ }
560+ return secrets
561+ }
562+
488563func GatewaySecretIndexFunc (rawObj client.Object ) (keys []string ) {
489564 gateway := rawObj .(* gatewayv1.Gateway )
490565 var m = make (map [string ]struct {})
0 commit comments