@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
JavaScript
;
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