@@ -284,7 +284,7 @@ func setupIngressClassV1beta1Indexer(mgr ctrl.Manager) error {
284284 context .Background (),
285285 & networkingv1beta1.IngressClass {},
286286 IngressClass ,
287- IngressClassIndexFunc ,
287+ IngressClassV1beta1IndexFunc ,
288288 ); err != nil {
289289 return err
290290 }
@@ -294,7 +294,7 @@ func setupIngressClassV1beta1Indexer(mgr ctrl.Manager) error {
294294 context .Background (),
295295 & networkingv1beta1.IngressClass {},
296296 IngressClassParametersRef ,
297- IngressClassParametersRefIndexFunc ,
297+ IngressClassV1beta1ParametersRefIndexFunc ,
298298 ); err != nil {
299299 return err
300300 }
@@ -421,6 +421,15 @@ func setupBackendTrafficPolicyIndexer(mgr ctrl.Manager) error {
421421 return nil
422422}
423423
424+ func IngressClassV1beta1IndexFunc (rawObj client.Object ) []string {
425+ ingressClass := rawObj .(* networkingv1beta1.IngressClass )
426+ if ingressClass .Spec .Controller == "" {
427+ return nil
428+ }
429+ controllerName := ingressClass .Spec .Controller
430+ return []string {controllerName }
431+ }
432+
424433func IngressClassIndexFunc (rawObj client.Object ) []string {
425434 ingressClass := rawObj .(* networkingv1.IngressClass )
426435 if ingressClass .Spec .Controller == "" {
@@ -736,6 +745,22 @@ func IngressClassParametersRefIndexFunc(rawObj client.Object) []string {
736745 return nil
737746}
738747
748+ func IngressClassV1beta1ParametersRefIndexFunc (rawObj client.Object ) []string {
749+ ingressClass := rawObj .(* networkingv1beta1.IngressClass )
750+ // check if the IngressClass references this gateway proxy
751+ if ingressClass .Spec .Parameters != nil &&
752+ ingressClass .Spec .Parameters .APIGroup != nil &&
753+ * ingressClass .Spec .Parameters .APIGroup == v1alpha1 .GroupVersion .Group &&
754+ ingressClass .Spec .Parameters .Kind == "GatewayProxy" {
755+ ns := ingressClass .GetNamespace ()
756+ if ingressClass .Spec .Parameters .Namespace != nil {
757+ ns = * ingressClass .Spec .Parameters .Namespace
758+ }
759+ return []string {GenIndexKey (ns , ingressClass .Spec .Parameters .Name )}
760+ }
761+ return nil
762+ }
763+
739764func ApisixPluginConfigSecretIndexFunc (obj client.Object ) (keys []string ) {
740765 pc := obj .(* apiv2.ApisixPluginConfig )
741766 for _ , plugin := range pc .Spec .Plugins {
0 commit comments