Files
ipwhitelist-app/docs/questions-devops.md
T

43 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Вопросы девопсам — 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?