grafana.py 661 B

1234567891011121314151617181920212223
  1. from fastapi import Request
  2. from gpustack.config.config import Config
  3. def normalize_grafana_url(grafana_url: str) -> str:
  4. if not grafana_url:
  5. return ""
  6. if "://" not in grafana_url:
  7. grafana_url = f"http://{grafana_url}"
  8. return grafana_url.rstrip("/")
  9. def resolve_grafana_base_url(cfg: Config, request: Request) -> str:
  10. if cfg.grafana_url is not None:
  11. return normalize_grafana_url(cfg.grafana_url or "")
  12. grafana_url = normalize_grafana_url(cfg.get_grafana_url() or "")
  13. if not grafana_url:
  14. return ""
  15. base = cfg.server_external_url or str(request.base_url).rstrip("/")
  16. return f"{base}/grafana"