diff --git a/src/containers/AppWithClusters/utils/useAdditionalTenantsProps.tsx b/src/containers/AppWithClusters/utils/useAdditionalTenantsProps.tsx index b2722296d4..a7f78a3b4c 100644 --- a/src/containers/AppWithClusters/utils/useAdditionalTenantsProps.tsx +++ b/src/containers/AppWithClusters/utils/useAdditionalTenantsProps.tsx @@ -4,6 +4,7 @@ import {useClusterBaseInfo} from '../../../store/reducers/cluster/cluster'; import type {AdditionalTenantsProps} from '../../../types/additionalProps'; import type {ETenantType} from '../../../types/api/tenant'; import type {GetDatabaseLinks} from '../../../uiFactory/types'; +import {uiFactory} from '../../../uiFactory/uiFactory'; import {USE_CLUSTER_BALANCER_AS_BACKEND_KEY} from '../../../utils/constants'; import {useSetting} from '../../../utils/hooks'; import type {GetLogsLink} from '../../../utils/logs'; @@ -26,7 +27,7 @@ export function useAdditionalTenantsProps({ const {balancer, monitoring, logging, name: clusterName} = clusterInfo; - const useMetaProxy = clusterInfo.settings?.use_meta_proxy; + const useMetaProxy = clusterInfo.settings?.use_meta_proxy || uiFactory.useMetaProxy; const additionalTenantsProps: AdditionalTenantsProps = {}; additionalTenantsProps.prepareTenantBackend = (nodeId) => { diff --git a/src/store/reducers/clusters/utils.ts b/src/store/reducers/clusters/utils.ts index 574f35592f..aa4f6cc7e2 100644 --- a/src/store/reducers/clusters/utils.ts +++ b/src/store/reducers/clusters/utils.ts @@ -1,4 +1,5 @@ import type {MetaClusters} from '../../../types/api/meta'; +import {uiFactory} from '../../../uiFactory/uiFactory'; import {prepareBackendFromBalancer} from '../../../utils/parseBalancer'; import { getVersionMap, @@ -24,7 +25,7 @@ export const prepareClustersData = (data: MetaClusters): PreparedCluster[] => { // Apply color map to every cluster in the list return clusters.map((cluster) => { // If no backend is provided, it will be automatically generated by API instance - const useMetaProxy = cluster.settings?.use_meta_proxy; + const useMetaProxy = cluster.settings?.use_meta_proxy || uiFactory.useMetaProxy; const preparedBackend = cluster.balancer && !useMetaProxy ? prepareBackendFromBalancer(cluster.balancer) diff --git a/src/uiFactory/types.ts b/src/uiFactory/types.ts index 71ed9f5685..afa4f586d7 100644 --- a/src/uiFactory/types.ts +++ b/src/uiFactory/types.ts @@ -47,6 +47,8 @@ export interface UIFactory { yaMetricaMap?: Record; useDatabaseId?: boolean; + + useMetaProxy?: boolean; } export type HandleCreateDB = (params: {clusterName: string}) => Promise; diff --git a/src/utils/hooks/useNodeDeveloperUIHref.ts b/src/utils/hooks/useNodeDeveloperUIHref.ts index de09d81dc9..95e72ccca5 100644 --- a/src/utils/hooks/useNodeDeveloperUIHref.ts +++ b/src/utils/hooks/useNodeDeveloperUIHref.ts @@ -1,6 +1,7 @@ import {backend} from '../../store'; import {useClusterBaseInfo} from '../../store/reducers/cluster/cluster'; import type {NodeAddress} from '../../types/additionalProps'; +import {uiFactory} from '../../uiFactory/uiFactory'; import { createDeveloperUIInternalPageHref, createDeveloperUILinkWithNodeId, @@ -16,7 +17,7 @@ export function useNodeDeveloperUIHref(node?: NodeAddress) { const {balancer = backend, settings} = useClusterBaseInfo(); const isUserAllowedToMakeChanges = useIsUserAllowedToMakeChanges(); - const useMetaProxy = settings?.use_meta_proxy; + const useMetaProxy = settings?.use_meta_proxy || uiFactory.useMetaProxy; if (!isUserAllowedToMakeChanges) { return undefined;