diff --git a/src/containers/AppWithClusters/utils/useAdditionalTenantsProps.tsx b/src/containers/AppWithClusters/utils/useAdditionalTenantsProps.tsx index a7f78a3b4c..158dc10440 100644 --- a/src/containers/AppWithClusters/utils/useAdditionalTenantsProps.tsx +++ b/src/containers/AppWithClusters/utils/useAdditionalTenantsProps.tsx @@ -27,7 +27,7 @@ export function useAdditionalTenantsProps({ const {balancer, monitoring, logging, name: clusterName} = clusterInfo; - const useMetaProxy = clusterInfo.settings?.use_meta_proxy || uiFactory.useMetaProxy; + const useMetaProxy = uiFactory.useMetaProxy && clusterInfo.settings?.use_meta_proxy !== false; const additionalTenantsProps: AdditionalTenantsProps = {}; additionalTenantsProps.prepareTenantBackend = (nodeId) => { diff --git a/src/store/reducers/clusters/utils.ts b/src/store/reducers/clusters/utils.ts index aa4f6cc7e2..d1c9be5254 100644 --- a/src/store/reducers/clusters/utils.ts +++ b/src/store/reducers/clusters/utils.ts @@ -25,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 || uiFactory.useMetaProxy; + const useMetaProxy = uiFactory.useMetaProxy && cluster.settings?.use_meta_proxy !== false; const preparedBackend = cluster.balancer && !useMetaProxy ? prepareBackendFromBalancer(cluster.balancer) diff --git a/src/utils/hooks/useNodeDeveloperUIHref.ts b/src/utils/hooks/useNodeDeveloperUIHref.ts index 95e72ccca5..0f81f15ff7 100644 --- a/src/utils/hooks/useNodeDeveloperUIHref.ts +++ b/src/utils/hooks/useNodeDeveloperUIHref.ts @@ -17,7 +17,7 @@ export function useNodeDeveloperUIHref(node?: NodeAddress) { const {balancer = backend, settings} = useClusterBaseInfo(); const isUserAllowedToMakeChanges = useIsUserAllowedToMakeChanges(); - const useMetaProxy = settings?.use_meta_proxy || uiFactory.useMetaProxy; + const useMetaProxy = uiFactory.useMetaProxy && settings?.use_meta_proxy !== false; if (!isUserAllowedToMakeChanges) { return undefined; diff --git a/src/utils/prepareBackend.ts b/src/utils/prepareBackend.ts index 183c609eb5..5289df6282 100644 --- a/src/utils/prepareBackend.ts +++ b/src/utils/prepareBackend.ts @@ -1,8 +1,8 @@ +import {isNil} from 'lodash'; + import {createDeveloperUILinkWithNodeId} from './developerUI/developerUI'; import {prepareBackendFromBalancer} from './parseBalancer'; -import {valueIsDefined} from '.'; - export const prepareHost = (host?: string) => { // add "u-" prefix to cloud din nodes return host?.startsWith('vm-') ? `u-${host}` : host; @@ -14,11 +14,15 @@ export const getBackendFromBalancerAndNodeId = ( balancer?: string, useMetaProxy?: boolean, ) => { - if (valueIsDefined(nodeId) && valueIsDefined(balancer)) { - // Use default value instead of balancer if meta proxy is enabled - const preparedBalancer = useMetaProxy ? undefined : prepareBackendFromBalancer(balancer); + if (isNil(nodeId)) { + return undefined; + } + if (useMetaProxy) { + return createDeveloperUILinkWithNodeId(nodeId); + } + if (!isNil(balancer)) { + const preparedBalancer = prepareBackendFromBalancer(balancer); return createDeveloperUILinkWithNodeId(nodeId, preparedBalancer); } - return undefined; };