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

2.6 KiB
Raw Blame History

Вопросы девопсам — 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?