fix(site-finder): ГРС-лоадер — Russian Trusted CA для домена Газпрома #2124

Merged
bot-backend merged 1 commit from fix/gazprom-russian-ca into main 2026-07-02 13:25:31 +00:00
Collaborator

Прод-инцидент (первый прогон ГРС-лоадера после #2123)

ekaterinburg-tr.gazprom.ru — сертификат российского УЦ (Russian Trusted CA, Минцифры), его нет в стандартном bundle → CERTIFICATE_VERIFY_FAILED. Диагностика с прода: при отключённой проверке страница отдаёт 200 (224 KB, 1 таблица) — чисто CA-вопрос.

Фикс

  • backend/app/resources/certs/russian_trusted_ca_bundle.pem — публичные Russian Trusted Root + Sub CA (официальные, с gu-st.ru/Госуслуги, 2026-07-02).
  • gazprom_grs_loader: ssl-контекст = системные CA + бандл (create_default_context + load_verify_locations), scoped только на этот лоадер, lru_cache. Никакого verify=False.
  • Dockerfile уже копирует app/ целиком — бандл попадает в образ.

Тесты 17 зелёные, ruff чист, контекст загружается (проверено и после end-of-file-fixer хука).

После merge+deploy — прогон load_grs_capacity() на проде: ждём ~316 ГРС со свободной мощностью.

## Прод-инцидент (первый прогон ГРС-лоадера после #2123) `ekaterinburg-tr.gazprom.ru` — сертификат **российского УЦ** (Russian Trusted CA, Минцифры), его нет в стандартном bundle → `CERTIFICATE_VERIFY_FAILED`. Диагностика с прода: при отключённой проверке страница отдаёт 200 (224 KB, 1 таблица) — чисто CA-вопрос. ## Фикс - `backend/app/resources/certs/russian_trusted_ca_bundle.pem` — публичные Russian Trusted **Root + Sub** CA (официальные, с gu-st.ru/Госуслуги, 2026-07-02). - `gazprom_grs_loader`: ssl-контекст = **системные CA + бандл** (`create_default_context` + `load_verify_locations`), scoped только на этот лоадер, `lru_cache`. Никакого `verify=False`. - Dockerfile уже копирует `app/` целиком — бандл попадает в образ. Тесты 17 зелёные, ruff чист, контекст загружается (проверено и после end-of-file-fixer хука). После merge+deploy — прогон `load_grs_capacity()` на проде: ждём ~316 ГРС со свободной мощностью.
bot-backend added 1 commit 2026-07-02 13:03:24 +00:00
fix(site-finder): ГРС-лоадер — Russian Trusted CA для домена Газпрома
All checks were successful
CI / changes (pull_request) Successful in 8s
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 1m57s
CI / backend-tests (pull_request) Successful in 14m26s
9a5c459690
Прод-инцидент 2026-07-02: ekaterinburg-tr.gazprom.ru использует сертификат
российского УЦ (Минцифры) → CERTIFICATE_VERIFY_FAILED в стандартном CA-bundle.

- backend/app/resources/certs/russian_trusted_ca_bundle.pem — публичные
  Russian Trusted Root CA + Sub CA (скачаны с gu-st.ru/Госуслуги 2026-07-02).
- gazprom_grs_loader: ssl-контекст = системные CA + бандл (create_default_context
  + load_verify_locations), scoped ТОЛЬКО на этот лоадер, lru_cache. Никакого
  verify=False.

Dockerfile уже копирует app/ целиком — бандл попадает в образ. Диагностика с
прода: страница 200 (224KB, 1 таблица) при отключённой проверке — подтверждён
именно CA-вопрос.
bot-backend merged commit da0b8f0374 into main 2026-07-02 13:25:31 +00:00
bot-backend deleted branch fix/gazprom-russian-ca 2026-07-02 13:25:31 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2124
No description provided.