UNPKG

@stolostron/multicluster-sdk

Version:

Provides extensions and APIs that dynamic plugins can use to leverage multicluster capabilities provided by Red Hat Advanced Cluster Management.

41 lines 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useFleetPrometheusPoll = void 0; /* Copyright Contributors to the Open Cluster Management project */ const dynamic_plugin_sdk_1 = require("@openshift-console/dynamic-plugin-sdk"); const useURLPoll_1 = require("./useURLPoll"); const constants_1 = require("./constants"); const utils_1 = require("./utils"); const useHubClusterName_1 = require("../useHubClusterName"); const useBackendURL_1 = require("../useBackendURL"); const useFleetPrometheusPoll = ({ delay, endpoint, endTime, namespace, query, samples = constants_1.DEFAULT_PROMETHEUS_SAMPLES, timeout, timespan = constants_1.DEFAULT_PROMETHEUS_TIMESPAN, customDataSource, cluster, }) => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const [backendBasePath, loaded] = (0, useBackendURL_1.useBackendURL)(cluster); const hubCluster = (0, useHubClusterName_1.useHubClusterName)(); const clusterForQuery = hubCluster === cluster ? undefined : cluster; const fleetBasePath = clusterForQuery && loaded ? `${backendBasePath}/observability` : undefined; const prometheusURLProps = { endpoint, endTime, namespace, query, samples, timeout, timespan, }; const fleetPool = (0, useURLPoll_1.useURLPoll)(clusterForQuery ? (0, utils_1.getFleetPrometheusURL)(prometheusURLProps, fleetBasePath, clusterForQuery) : null, delay, query, timespan); const k8sPool = (0, dynamic_plugin_sdk_1.usePrometheusPoll)({ delay, endpoint, endTime, namespace, query: clusterForQuery ? undefined : query, samples, timeout, timespan, customDataSource, }); return clusterForQuery ? fleetPool : k8sPool; }; exports.useFleetPrometheusPoll = useFleetPrometheusPoll; //# sourceMappingURL=index.js.map