diff --git a/controller/cuda_grid_controller/browser_overlays.py b/controller/cuda_grid_controller/browser_overlays.py index 9497677..eb73e43 100644 --- a/controller/cuda_grid_controller/browser_overlays.py +++ b/controller/cuda_grid_controller/browser_overlays.py @@ -73,6 +73,10 @@ class DashboardCfg(BaseModel): description="HTTP headers для каждого request — auth tokens, custom UA. " "Пример Grafana service account: " '{"Authorization": "Bearer glsa_xxxxxxxx"}') + cookies: list[dict] = Field(default_factory=list, + description="Session cookies через Playwright context.add_cookies. " + "Каждый dict: {name, value, url}|{name, value, domain, path}. " + "Пример: [{\"name\":\"session_id\",\"value\":\"abc\",\"url\":\"https://...\"}]") opacity: float = 1.0 z_order: int = 28 @@ -137,6 +141,12 @@ class BrowserRenderer: ) if cfg.extra_http_headers: await page.set_extra_http_headers(cfg.extra_http_headers) + if cfg.cookies: + try: + await page.context.add_cookies(cfg.cookies) + except Exception as e: + log.warning("browser_overlays.cookies_invalid", + id=cfg.id, error=str(e)) # background_color в new_context не работает для transparent — used CLI arg await page.goto(cfg.url, wait_until=cfg.wait_until, timeout=cfg.page_timeout_ms)