chore: скрыть внутреннюю аналитику из публичного репо (.gitignore)
This commit is contained in:
@@ -6,3 +6,11 @@ __pycache__/
|
|||||||
.vscode/
|
.vscode/
|
||||||
.idea/
|
.idea/
|
||||||
Files/nubes_login.har
|
Files/nubes_login.har
|
||||||
|
|
||||||
|
# Внутренняя аналитика — не для публичного доступа
|
||||||
|
PROJECT-AUDIT.md
|
||||||
|
AGENT-DIAGNOSIS.md
|
||||||
|
CONTEXT.md
|
||||||
|
|
||||||
|
# Результаты тестов — генерируются при прогоне
|
||||||
|
test-results/
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
# Вопросы девопсам — IPWhiteList
|
||||||
|
|
||||||
|
## 1. Аутентификация (OIDC/Keycloak)
|
||||||
|
|
||||||
|
**Как выглядит токен когда пользователь принадлежит нескольким компаниям?**
|
||||||
|
В ТЗ п. 3.1 сказано «поддерживается сценарий когда пользователь принадлежит нескольким компаниям». В текущем токене один `ClientID = WZ01325`. Если компаний несколько — это массив? Отдельный claim? Или всегда разные учётки?
|
||||||
|
|
||||||
|
**Какие claims реально приходят в токене?**
|
||||||
|
Мы видели в HAR-файле: `ClientID`, `company_id`, `company_name`, `email`, `login`, `groups: null`, `realm_access.roles: null`. Это окончательный список? `groups` всегда `null` или при каких-то условиях заполняется?
|
||||||
|
|
||||||
|
**Как определяется роль администратора?**
|
||||||
|
Сейчас проверяем `clientId === ADMIN_CLIENT_ID (WZ01112)`. В ТЗ написано «и отдельный чек-бокс». Это флаг/роль `admin` в Keycloak? В каком claim?
|
||||||
|
|
||||||
|
**JWKS URL для прода?**
|
||||||
|
Для dev генерим RSA-пару локально. Для прода: это `https://keycloak.nubes.ru/realms/cloud/protocol/openid-connect/certs` или другой?
|
||||||
|
|
||||||
|
**Redirect URI для Keycloak?**
|
||||||
|
Нужно зарегистрировать `https://white.nodejsk8s.dev.nubes.ru/callback` как redirect_uri?
|
||||||
|
|
||||||
|
## 2. Развёртывание Node.js
|
||||||
|
|
||||||
|
**Почему Node.js не деплоится?**
|
||||||
|
PostgreSQL развернулся, Node.js — «нет ресурсов для аллоцирования». Это ограничение платформы? Другой тип ресурсной группы?
|
||||||
|
|
||||||
|
**Формат `jsonEnv`?**
|
||||||
|
Поле `jsonEnv` ругается «Invalid JSON String». Какой точный формат?
|
||||||
|
|
||||||
|
**Переменные для прода:**
|
||||||
|
- `NODE_ENV=production`
|
||||||
|
- `KC_CLIENT_ID` + `KC_CLIENT_SECRET`
|
||||||
|
- `SESSION_SECRET` — случайная строка
|
||||||
|
- `DATABASE_URL` — строка подключения
|
||||||
|
|
||||||
|
Всё через jsonEnv или иначе?
|
||||||
|
|
||||||
|
## 3. Сеть
|
||||||
|
|
||||||
|
**Кто потребитель `/export`?**
|
||||||
|
По ТЗ — без авторизации, ограничение по IP. Какие IP/подсети?
|
||||||
|
|
||||||
|
**Ingress/CSP:**
|
||||||
|
На проде не работают inline onclick/onchange. Ingress добавляет CSP? Можно ослабить или делать на event delegation?
|
||||||
Reference in New Issue
Block a user