Skip to content

Commit 49c3b09

Browse files
committed
Merge branch 'release-v1-dev' into ci/k8s-1-18
2 parents 790f5e0 + 6ec73f7 commit 49c3b09

File tree

1 file changed

+29
-5
lines changed

1 file changed

+29
-5
lines changed

internal/controller/indexer/indexer.go

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232

3333
"github.com/apache/apisix-ingress-controller/api/v1alpha1"
3434
apiv2 "github.com/apache/apisix-ingress-controller/api/v2"
35+
"github.com/apache/apisix-ingress-controller/pkg/utils"
3536
)
3637

3738
const (
@@ -52,20 +53,43 @@ const (
5253
)
5354

5455
func SetupIndexer(mgr ctrl.Manager) error {
56+
setupLog := ctrl.LoggerFrom(context.Background()).WithName("indexer-setup")
57+
58+
// Gateway API indexers - conditional setup based on API availability
59+
for resource, setup := range map[client.Object]func(ctrl.Manager) error{
60+
&gatewayv1.Gateway{}: setupGatewayIndexer,
61+
&gatewayv1.HTTPRoute{}: setupHTTPRouteIndexer,
62+
&gatewayv1.GatewayClass{}: setupGatewayClassIndexer,
63+
&v1alpha1.Consumer{}: setupConsumerIndexer,
64+
} {
65+
if utils.HasAPIResource(mgr, resource) {
66+
if err := setup(mgr); err != nil {
67+
return err
68+
}
69+
} else {
70+
setupLog.Info("Skipping indexer setup, API not found in cluster", "api", utils.FormatGVK(resource))
71+
}
72+
}
73+
74+
// Gateway secret index needs conditional setup since it uses Gateway API
75+
if utils.HasAPIResource(mgr, &gatewayv1.Gateway{}) {
76+
if err := setupGatewaySecretIndex(mgr); err != nil {
77+
return err
78+
}
79+
} else {
80+
setupLog.Info("Skipping indexer setup, API not found in cluster", "api", utils.FormatGVK(&gatewayv1.Gateway{}))
81+
}
82+
83+
// Core Kubernetes and APISIX indexers - always setup these
5584
for _, setup := range []func(ctrl.Manager) error{
56-
setupGatewayIndexer,
57-
setupHTTPRouteIndexer,
5885
setupIngressIndexer,
59-
setupConsumerIndexer,
6086
setupBackendTrafficPolicyIndexer,
6187
setupIngressClassIndexer,
6288
setupGatewayProxyIndexer,
63-
setupGatewaySecretIndex,
6489
setupApisixRouteIndexer,
6590
setupApisixPluginConfigIndexer,
6691
setupApisixTlsIndexer,
6792
setupApisixConsumerIndexer,
68-
setupGatewayClassIndexer,
6993
} {
7094
if err := setup(mgr); err != nil {
7195
return err

0 commit comments

Comments
 (0)