Add /api/media/** route mapping to MediaService for public chat key management
Add public chat gateway with API key validation, rate limiting, and WebSocket proxy
Adds public chat endpoints at /api/public-chat/** for anonymous website chat. Includes API key validation (SHA-256 hashed, Redis-cached), per-key and per-IP rat...
Use getServerName() instead of getHeader(Host) for original host resolution
ForwardedHeaderFilter consumes X-Forwarded-Host and adapts getServerName() accordingly, while getHeader(Host) returns the raw HTTP Host which may be a K8s inter...
Use HTTP on port 80 for meet service URL to match other services
The HTTPS endpoint on 8443 causes SSL cert mismatch when routing through K8s internal DNS. All other services use HTTP on port 80.
Используйте правильный URL-адрес MediaService (порт HTTPS 8443) для meet.service.url
Добавить meet.service.url в K8s configmap для предотвращения сбоя APIService
Сохраняйте вышестоящий X-Forwarded-Host вместо перезаписи с собственным Host
Когда восходящий прокси (Next.js) устанавливает X-Forwarded-Host для браузера Оригинальный хост, APIService теперь сохраняет его вместо перезаписи Собственный H...
Route /api/notes to KBService instead of SecurityService
Notes management has been moved from SecurityService to KBService.
Explicitly forward visitor IP to downstream services
ForwardedHeaderFilter consumes X-Forwarded-For from the incoming request, so when APIService forwards to SecurityService via RestTemplate the header is missing....
Move AccessEnforcementFilter to scanned package, revert ComponentScan
The widened @ComponentScan caused a corsFilter bean conflict between CorsConfig and WebConfig. Moved the filter into com.kamo.api.app.config (already scanned by...
Add Redis connection config to K8s configmap
APIService pod was failing to start because spring-boot-starter-data-redis auto-configuration couldn't connect to Redis at localhost:6379. Points to redis.kamo....
Add access enforcement filter for IP-based access control
Redis-backed servlet filter that evaluates whitelist/blacklist/temp-block rules on every inbound request. Adds spring-boot-starter-data-redis dependency and Red...
Add OAuth callback forwarding with no-redirect RestTemplate
- Add noRedirectRestTemplate bean (HttpClient.Redirect.NEVER) so the 302 from VOIPService's OAuth callback is passed through to the browser instead of being...
Add proxyDav route, fix forward() body guard for DAV methods, add email service URL
Add gateway routes for KB and RAG services
- /api/kb/** routes to kamowskb-service - /api/rag/** routes to kamowsrag-service - Updated application.yml and k8s configmap with service URLs
Add /wopi/** route forwarding to DocsService
Docs needs to reach WOPI endpoints via api.kamocrm.com.
Use JdkClientHttpRequestFactory to support PATCH method forwarding
The default RestTemplate uses SimpleClientHttpRequestFactory (HttpURLConnection) which doesn't support the PATCH HTTP method, causing branch-titles save to fail...
Исправьте обновление kubeconfig для использования VPN IP-адресов WireGuard (10.8.x.x) вместо старых IP-адресов Tailscale
Рефактор параллельного развертывания для k1m1 и k2m1
Раздельное строительство и развертывание на отдельные рабочие места - Развернуть до k1m1 и k2m1 параллельно после завершения сборки - значительно сокращает обще...
Обратно к драйверу докера для более быстрых сборок - удаляет накладные расходы докер-контейнера
Переключение на драйвер докер-контейнер с кэшем для оптимальной производительности сборки
Добавьте настройку Buildx с небезопасной конфигурацией реестра для устранения ошибок 401 auth
Force-terminate stuck pods faster and add graceful shutdown config
Add preStop hooks, probes, and increase termination grace period to prevent deployment timeouts
Properly forward multipart/form-data by rebuilding parts for RestTemplate
Revert "fix(proxy): route /api/security/imaging/* to SecurityService /api/imaging/*"
This reverts commit ****************
Route /api/security/imaging/* to SecurityService /api/imaging/*
Подобно тому, что вы видите доставку?
Все это приходит в ваше рабочее пространство само по себе. Начните с бесплатного плана и прочтите эту страницу снова через месяц.
