naeel
02859d6a7a
fix: replace regex constraint with LIKE '%/%' for PG compat
...
- constraint CHECK (value_cidr LIKE '%/%') instead of regex
- regex broke on managed PG with standard_conforming_strings=off
- ALTER TABLE adds constraint on existing tables
2026-06-10 11:51:08 +04:00
naeel
32cb0f4ac6
fix: block clientId login in OIDC mode (crash fix)
...
- ui/routes/auth.js: auth.isOidc → redirect to /login with error instead of
calling issueMockToken which throws 'Mock keypair not initialized'
- This was crashing the process via unhandled promise rejection
2026-06-10 11:42:50 +04:00
naeel
e22b7ac408
bump 0.5.34 — save idToken for logout
2026-06-09 22:37:05 +04:00
naeel
54f950b7d1
bump 0.5.33 — revert idToken, logout via KC config
2026-06-09 22:29:15 +04:00
naeel
9fc3665292
bump 0.5.32 — remove audience check from JWT verify
2026-06-09 22:17:23 +04:00
naeel
4a45546b0d
bump 0.5.31 — disable state check in production for SSO test
2026-06-09 22:01:26 +04:00
naeel
9b76333b22
bump 0.5.30 — restore state check, clean code
2026-06-09 21:59:26 +04:00
naeel
a39f97f3b4
bump 0.5.29 — add KC_BASE_URL to exchange error
2026-06-09 21:56:45 +04:00
naeel
6c5215513c
bump 0.5.28 — disable state check for SSO test
2026-06-09 21:53:07 +04:00
naeel
61361ec7e2
bump 0.5.27 — error handler: URL, user, clientId, stack
2026-06-09 21:01:33 +04:00
naeel
d0bfdab085
bump 0.5.26 — fix server.js error handler to show message
2026-06-09 21:01:00 +04:00
naeel
9c74479121
bump 0.5.25 — error details on 500 page, ensureSchema catch
...
- ui/index.js: 500 page shows error.message
- server.js: ensureSchema error logged, doesn't crash startup
2026-06-09 20:56:58 +04:00
naeel
51b6fdf132
bump 0.5.24
2026-06-09 20:51:33 +04:00
naeel
e3ebd8ba4e
Revert "bump 0.5.24"
...
This reverts commit f5141f652f .
2026-06-09 20:49:59 +04:00
naeel
f5141f652f
bump 0.5.24
2026-06-09 20:49:35 +04:00
naeel
f40bcb84fd
feat: ensureSchema — приложение само создаёт таблицы при старте
...
- db.js: ensureSchema() = CREATE TABLE IF NOT EXISTS для всех таблиц
- server.js: вызов ensureSchema() после коннекта к БД
- Больше не нужен ручной psql -f sql/schema.sql
2026-06-09 19:55:07 +04:00
naeel
b0e43f981b
Revert "feat: auto-migration on startup (ensureSchema)"
...
This reverts commit dce2368712 .
2026-06-09 19:48:43 +04:00
naeel
dce2368712
feat: auto-migration on startup (ensureSchema)
...
- db.js: ensureSchema() creates tables if not exist
- server.js: calls ensureSchema() after DB connection
- No manual SQL needed for deployment
2026-06-09 19:46:19 +04:00
naeel
9fd808bc1f
chore: DB defaults for managed platform, reduce required env vars
...
- db.js: DB_HOST default postgresqlk8s-master, DB_NAME default ipwhitelist, DB_USER default super
- server.js: fail-fast for DB_PASS in production (instead of IAM_API_URL)
- After this change: only DB_PASS is required for mock mode
2026-06-09 19:20:29 +04:00
naeel
393595301b
fix: IAM_API_URL default to dev, document env selection
...
- .env.example: показаны три URL стендов (dev/test/prod), dev по умолчанию
- src/config.js: дефолт IAM_API_URL сменён с prod на dev (безопаснее)
- docs/devops-deploy.md: добавлена строка IAM_API_URL в таблицу настройки .env
2026-06-06 12:00:27 +04:00
naeel
ae6f3c4f8d
fix: devops-deploy.md — multi-company через IAM
2026-06-04 16:52:07 +03:00
naeel
1f1d70e577
fix: AGENT-GUIDE comma-separated → IAM profiles
2026-06-04 16:50:47 +03:00
naeel
e7aeceb3b6
fix: README multi-company — IAM вместо comma-separated
2026-06-04 16:49:50 +03:00
naeel
4f8695aeda
docs: AGENT-GUIDE 0.5.23 + changelog
2026-06-04 16:39:44 +03:00
naeel
28954515e3
cleanup: убраны устаревшие comma-separated clientId
2026-06-04 16:38:33 +03:00
naeel
a0b66bb602
docs: wowater.md + README 0.5.23
2026-06-04 16:36:45 +03:00
naeel
e9bd94cea3
fix: 0.0.0.0/8 → blocked ranges + bump 0.5.23
2026-06-04 16:13:04 +03:00
naeel
05c6920987
cleanup: PRODUCTION-READY-ANALYSIS.md → audits/
2026-06-04 16:02:20 +03:00
naeel
3ef5478130
cleanup: PROJECT-AUDIT.md → audits/, ++gitignore
2026-06-04 15:59:59 +03:00
naeel
a3cf9812df
cleanup: аудиты → audits/, версии актуальны, gitignore
...
- audits/: все аудиты + ревью вынесены из docs/
- .gitignore: audits/, удалены старые паттерны
- README.md: v0.5.22
- .github/AGENT-GUIDE.md: v0.5.22
- Удалены из трекинга: TZ-COMPLIANCE, аудиты
2026-06-04 15:56:38 +03:00
naeel
c1df27d29d
fix: DeepSeek audit — header injection + IAM limit + bump 0.5.22
...
- src/api/routes/entries.js: санитизация filename в /api/v1/entries/export
- ui/routes/export.js: санитизация filename в UI /export
- src/auth.js: лимит 100KB для IAM-ответов
- src/api/routes/entries.js: fallback для пустого allowedIds
2026-06-04 15:48:16 +03:00
naeel
58e34042de
fix: header injection, api timeout, nginx duplicate + bump 0.5.21
...
- server.js: санитизация filename в /export (header injection)
- ui/api-client.js: req.setTimeout(15000) + try/catch JSON.parse
- docs/devops-deploy.md: убран дубль X-Forwarded-Proto
2026-06-04 15:41:03 +03:00
naeel
99796202cb
fix: IAM warning, nginx doc, fail-fast IAM_API_URL + bump 0.5.20
...
- src/routes/oidc.js: console.error при IAM fallback вместо warn
- server.js: проверка IAM_API_URL в production mode
- docs/devops-deploy.md: X-Forwarded-Proto в nginx config
2026-06-04 15:33:32 +03:00
naeel
7b66b94774
bump: 0.5.19 (redirect security fixes)
2026-06-04 15:27:17 +03:00
naeel
8cbbe52316
fix: safeReturn для всех редиректов (security)
...
- ui/routes/auth.js: safeReturn() для returnTo в POST /login и /login-token
- src/routes/oidc.js: safeLocal() для oidcReturnTo в /callback
2026-06-04 15:26:26 +03:00
naeel
6edef60ed8
bump: 0.5.18 (IAM integration)
2026-06-04 15:11:53 +03:00
naeel
bbcda90378
fix: IAM баги после ревью
...
- ui/routes/auth.js: POST /login-token сделан async (был await без async)
- ui/routes/auth.js: IAM enrichment только при auth.isOidc (не в mock-режиме)
- src/auth.js: fetchIamUser, switchProfile возвращаются из initAuth()
- src/routes/oidc.js: auth.fetchIamUser вместо require('../auth') (устранение циклической зависимости)
- ui/routes/auth.js: auth.fetchIamUser вместо require
- tests/api-crud.sh: удалён хардкоженный prod-токен, токен только через аргумент
2026-06-04 15:08:40 +03:00
naeel
a8a07fe019
feat: IAM API интеграция + обновление ТЗ + тесты
...
- src/auth.js: fetchIamUser(), switchProfile(), userFromPayload(iamData)
- src/config.js: IAM_API_URL из env
- src/routes/oidc.js: обогащение сессии через IAM (с fallback на JWT)
- ui/routes/auth.js: обогащение при токен-логине
- ui/routes/entries.js: switchTo через POST /switch-profile
- src/api/routes/entries.js: resolveCompany через profiles[]
- views/index.ejs: переключатель компаний с названиями из profiles
- .env.example: IAM_API_URL
- docs: обновлены ТЗ-реализация.md, ТЗ-плюс.md, добавлен iam-integration.md
- tests: api-crud.sh (14 тестов CRUD + валидации)
- .gitignore: исключены .env.test, DEPLOY-TESTING.md
2026-06-04 13:53:44 +03:00
naeel
878e46287b
v0.5.17: owner_email в companies + универсальный парсер токенов + jwt.decode fallback
2026-06-03 15:17:56 +03:00
naeel
0b3f1ab445
gitignore: добавить docs/agent-opinions.md
2026-06-03 13:41:00 +03:00
naeel
c10b70f97a
cleanup: заменить тестовый email на example.com в keycloak-auth-reference
2026-06-03 13:40:41 +03:00
naeel
b7fe03f02d
cleanup финал: AGENT-GUIDE SSH-команда, deploy-keycloak URL, keycloak-auth ФИО/namespaces
2026-06-03 13:19:46 +03:00
naeel
f5dd0eaf15
cleanup: ТЗ-плюс — убрать реальные URL, email, deck-test client_id
2026-06-03 13:18:00 +03:00
naeel
8577ffa05c
fix README: devops-deploy не английский
2026-06-03 13:13:42 +03:00
naeel
2194c1650f
cleanup: убрать IP, реальные URL, креды из публичных файлов
...
- AGENT-GUIDE.md: убран IP ВМ, HTTP→HTTPS
- copilot-instructions.md: Files/token.txt→.env.example
- keycloak-auth-reference.md: убраны реальные client_id, URL gateway, email
- deploy-keycloak.md: реальные параметры заменены на шаблоны
- .env.example: русские значения→шаблоны
- README.md: порт 3000, multi-company пример под mock
2026-06-03 13:10:48 +03:00
naeel
43fa0faf7a
docs: fix нумерация шагов, client scope, README обрезанная фраза + версия
2026-06-03 13:05:40 +03:00
naeel
2a77b163db
fix docs/devops-deploy — чёткий порядок, без дыр
...
- порядок шагов исправлен (сначала код, потом таблицы)
- sudo согласован
- PostgreSQL: установка → код → таблицы
- все <домен> заменены на white.nubes.ru как пример
- таблица .env с колонкой 'Что писать'
2026-06-03 13:02:42 +03:00
naeel
006741a5fa
fix gitignore — вернуть docs паттерны, убрать kubeconfig из трека
2026-06-03 12:44:51 +03:00
naeel
8e72fc4559
bump v0.5.13 → v0.5.14
2026-06-03 12:37:21 +03:00
naeel
38c7adf25d
v0.5.14 — вход по токену, JWKS в mock-режиме, production deploy docs
...
- POST /login-token: принимает реальный JWT (не только clientId)
- auth.js: verifyAnyToken — mock + JWKS (Keycloak Nubes) одновременно
- auth.js: JWKS предзагружается всегда, даже в mock-режиме
- devops-deploy.md: полная production-инструкция для DevOps
- .env.example: production-ready шаблон
- README.md: актуальный (v0.5.13, архитектура, тесты, ссылки)
- .gitignore: очищен от дубликатов
2026-06-03 12:37:10 +03:00