diff --git a/src/api.rs b/src/api.rs index a90bacb..a6c23d8 100644 --- a/src/api.rs +++ b/src/api.rs @@ -209,8 +209,8 @@ pub fn create_router(state: ApiState, frontend_dir: &str) -> Router { /// Публичная (без auth_guard) рантайм-конфигурация для статического SPA — /// см. `ApiState::bot_username` про то, почему это не build-time env фронта. async fn get_public_config(State(state): State) -> impl IntoResponse { - // Публичный URL Grafana (за auth-гейтом Caddy, см. - // netrunner-data/observability/Caddyfile) — тот же паттерн, что и + // Публичный URL Grafana (за nginx + HTTP Basic Auth на VPS с данными, + // см. netrunner-data/nginx/) — тот же паттерн, что и // bot_username выше: читается на сервере заново на каждый запрос, а не // зашивается в SPA-бандл на этапе сборки, т.к. разный на разных стендах. // `None`, пока GRAFANA_PUBLIC_URL не задан — ObservabilityPage.tsx в diff --git a/src/modules/staff/controller.rs b/src/modules/staff/controller.rs index baa68f9..dcd4d00 100644 --- a/src/modules/staff/controller.rs +++ b/src/modules/staff/controller.rs @@ -28,9 +28,12 @@ pub fn router(state: ApiState) -> Router { .route_layer(middleware::from_fn_with_state(state, auth_guard)) } -/// Только Owner/Moderator — гейт для Caddy `forward_auth` перед Grafana -/// (см. netrunner-data/observability/Caddyfile). Тело ответа не важно, важен -/// только статус: 200 — Caddy пускает дальше в Grafana, 401 — блокирует. +/// Не подключён ни к чему в проде: изначально задумывался как гейт для +/// Caddy `forward_auth` перед Grafana, но эту схему заменили на nginx + +/// HTTP Basic Auth прямо на VPS с данными (см. netrunner-data/nginx/) — +/// проще и не зависит от того, задеплоен ли уже этот бэкенд. Эндпоинт +/// оставлен на случай, если позже понадобится реальный SSO поверх +/// basic-auth. Тело ответа не важно, важен только статус: 200/401. /// Бизнес-метрики (выручка, число юзеров) чувствительны — Support/Partner /// сюда не допускаются, поэтому `staff_guard`, а не `support_access_guard`. pub fn observability_router(state: ApiState) -> Router {