fix: r
Signed-off-by: Ashing Zheng <axingfly@gmail.com>
diff --git a/internal/controller/indexer/ssl_host.go b/internal/controller/indexer/ssl_host.go
index a427b8b..9838d43 100644
--- a/internal/controller/indexer/ssl_host.go
+++ b/internal/controller/indexer/ssl_host.go
@@ -29,7 +29,11 @@
sslutil "github.com/apache/apisix-ingress-controller/internal/ssl"
)
-var tlsHostIndexLogger = ctrl.Log.WithName("tls-host-indexer")
+var (
+ tlsHostIndexLogger = ctrl.Log.WithName("tls-host-indexer")
+ // Empty host is used to match the resource which does not specify any explicit host.
+ emptyHost = ""
+)
// GatewayTLSHostIndexFunc indexes Gateways by their TLS SNI hosts.
func GatewayTLSHostIndexFunc(rawObj client.Object) []string {
@@ -61,7 +65,7 @@
}
if !hasExplicitHost {
- hosts[""] = struct{}{}
+ hosts[emptyHost] = struct{}{}
}
}
@@ -97,7 +101,7 @@
}
if !hasExplicitHost {
- hosts[""] = struct{}{}
+ hosts[emptyHost] = struct{}{}
}
}
diff --git a/internal/webhook/v1/ssl/conflict_detector.go b/internal/webhook/v1/ssl/conflict_detector.go
index 0957ba1..c39cd27 100644
--- a/internal/webhook/v1/ssl/conflict_detector.go
+++ b/internal/webhook/v1/ssl/conflict_detector.go
@@ -347,6 +347,7 @@
}
if host != "" {
if !noHostFetched {
+ // List resources with empty host.
noHostCandidates, err = d.listResourcesByHost(ctx, "")
if err != nil {
logger.Error(err, "failed to list resources by host", "host", "", "object", objectKey(obj))