diff --git a/changelog/20250925_fix_use_cluster_domain_environment_variable_instead_of.md b/changelog/20250925_fix_use_cluster_domain_environment_variable_instead_of.md new file mode 100644 index 000000000..de56a12cc --- /dev/null +++ b/changelog/20250925_fix_use_cluster_domain_environment_variable_instead_of.md @@ -0,0 +1,6 @@ +--- +kind: fix +date: 2025-09-25 +--- + +* Use CLUSTER_DOMAIN environment variable instead of the fixed value `cluster.local` diff --git a/controllers/searchcontroller/community_search_source.go b/controllers/searchcontroller/community_search_source.go index 81bd38003..eb2d06860 100644 --- a/controllers/searchcontroller/community_search_source.go +++ b/controllers/searchcontroller/community_search_source.go @@ -5,6 +5,7 @@ import ( "strings" "github.com/blang/semver" + "github.com/mongodb/mongodb-kubernetes/pkg/util/env" "golang.org/x/xerrors" "k8s.io/apimachinery/pkg/types" @@ -26,8 +27,9 @@ type CommunitySearchSource struct { func (r *CommunitySearchSource) HostSeeds() []string { seeds := make([]string, r.Spec.Members) + clusterDomain := env.ReadOrDefault("CLUSTER_DOMAIN", "cluster.local") for i := range seeds { - seeds[i] = fmt.Sprintf("%s-%d.%s.%s.svc.cluster.local:%d", r.Name, i, r.ServiceName(), r.Namespace, r.GetMongodConfiguration().GetDBPort()) + seeds[i] = fmt.Sprintf("%s-%d.%s.%s.svc.%s:%d", r.Name, i, r.ServiceName(), r.Namespace, clusterDomain, r.GetMongodConfiguration().GetDBPort()) } return seeds } diff --git a/controllers/searchcontroller/enterprise_search_source.go b/controllers/searchcontroller/enterprise_search_source.go index 908be5e78..84c5184b3 100644 --- a/controllers/searchcontroller/enterprise_search_source.go +++ b/controllers/searchcontroller/enterprise_search_source.go @@ -5,6 +5,7 @@ import ( "strings" "github.com/blang/semver" + "github.com/mongodb/mongodb-kubernetes/pkg/util/env" "golang.org/x/xerrors" "k8s.io/apimachinery/pkg/types" @@ -24,8 +25,9 @@ func NewEnterpriseResourceSearchSource(mdb *mdbv1.MongoDB) SearchSourceDBResourc func (r EnterpriseResourceSearchSource) HostSeeds() []string { seeds := make([]string, r.Spec.Members) + clusterDomain := env.ReadOrDefault("CLUSTER_DOMAIN", "cluster.local") for i := range seeds { - seeds[i] = fmt.Sprintf("%s-%d.%s.%s.svc.cluster.local:%d", r.Name, i, r.ServiceName(), r.Namespace, r.Spec.GetAdditionalMongodConfig().GetPortOrDefault()) + seeds[i] = fmt.Sprintf("%s-%d.%s.%s.svc.%s:%d", r.Name, i, r.ServiceName(), r.Namespace, clusterDomain, r.Spec.GetAdditionalMongodConfig().GetPortOrDefault()) } return seeds } diff --git a/controllers/searchcontroller/mongodbsearch_reconcile_helper.go b/controllers/searchcontroller/mongodbsearch_reconcile_helper.go index a763be9a6..4b2dffd56 100644 --- a/controllers/searchcontroller/mongodbsearch_reconcile_helper.go +++ b/controllers/searchcontroller/mongodbsearch_reconcile_helper.go @@ -9,6 +9,7 @@ import ( "github.com/blang/semver" "github.com/ghodss/yaml" + "github.com/mongodb/mongodb-kubernetes/pkg/util/env" "go.uber.org/zap" "golang.org/x/xerrors" "k8s.io/apimachinery/pkg/fields" @@ -405,7 +406,8 @@ func GetMongodConfigParameters(search *searchv1.MongoDBSearch) map[string]any { func mongotHostAndPort(search *searchv1.MongoDBSearch) string { svcName := search.SearchServiceNamespacedName() - return fmt.Sprintf("%s.%s.svc.cluster.local:%d", svcName.Name, svcName.Namespace, search.GetMongotPort()) + clusterDomain := env.ReadOrDefault("CLUSTER_DOMAIN", "cluster.local") + return fmt.Sprintf("%s.%s.svc.%s:%d", svcName.Name, svcName.Namespace, clusterDomain, search.GetMongotPort()) } func (r *MongoDBSearchReconcileHelper) ValidateSingleMongoDBSearchForSearchSource(ctx context.Context) error {