diff --git a/web/src/components/netflow-traffic-tab.tsx b/web/src/components/netflow-traffic-tab.tsx index db799d40e..67b710220 100644 --- a/web/src/components/netflow-traffic-tab.tsx +++ b/web/src/components/netflow-traffic-tab.tsx @@ -1,4 +1,4 @@ -import { K8sResourceCommon } from '@openshift-console/dynamic-plugin-sdk'; +import { FeatureFlagHandler, K8sResourceCommon, SetFeatureFlag } from '@openshift-console/dynamic-plugin-sdk'; import { Bullseye, EmptyState, @@ -230,4 +230,13 @@ export const NetflowTrafficTab: React.FC = ({ match, obj } }; +export const featureFlagHandler: FeatureFlagHandler = (setFeatureFlag: SetFeatureFlag) => { + loadConfig().then(({ config }) => { + if (config) { + const lokiEnabled = config.dataSources.some(ds => ds === 'loki'); + setFeatureFlag('NETOBSERV_LOKI_ENABLED', lokiEnabled); + } + }); +}; + export default NetflowTrafficTab; diff --git a/web/webpack.config.ts b/web/webpack.config.ts index a3cbda90a..c738665d0 100644 --- a/web/webpack.config.ts +++ b/web/webpack.config.ts @@ -106,6 +106,12 @@ module.exports = { "handler": { "$codeRef": "networkHealth.featureFlagHandler" } } }, + { + "type": "console.flag", + "properties": { + "handler": { "$codeRef": "netflowTab.featureFlagHandler" } + } + }, { type: "console.navigation/href", properties: { @@ -172,7 +178,8 @@ module.exports = { name: "%plugin__netobserv-plugin~Network Traffic%", "href": "netflow" } - } + }, + "flags": { "required": ["NETOBSERV_LOKI_ENABLED"] } }, { type: "console.tab/horizontalNav", @@ -189,7 +196,8 @@ module.exports = { name: "%plugin__netobserv-plugin~Network Traffic%", "href": "netflow" } - } + }, + "flags": { "required": ["NETOBSERV_LOKI_ENABLED"] } }, { type: "console.tab/horizontalNav",