import opn from "opn"; import { startPortForward } from "../../../../utils/portForward"; import Vorpal from "vorpal"; import { GRAFANA_PROXY_LOCAL_PORT, GRAFANA_PROXY_TARGET_PORT, } from "../../../../config/constants"; import { getProjectNamespace } from "../../../../utils/projects"; import { envAutocompletion } from "./utils/autocompletions"; import ensureCluster from "./utils/ensureCluster"; export default (vorpal: Vorpal) => vorpal .command( "project-open-grafana ", "open Grafana dashboard for your namespace" ) .autocomplete(envAutocompletion) .action(async function ({ env }) { await ensureCluster.call(this); const namespace = await getProjectNamespace(env); const url = `http://localhost:${GRAFANA_PROXY_LOCAL_PORT}/grafana/d/at-cost-analysis-namespace2/namespace-utilization-metrics?var-namespace=${namespace}`; await startPortForward( "deployment/kubecost-cost-analyzer", GRAFANA_PROXY_LOCAL_PORT, GRAFANA_PROXY_TARGET_PORT, "kubecost" ); opn(url); });