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...
在端口 80 上使用 HTTP 来匹配其他服务
8443上的 HTTPS 端点在路由时造成 SSL 证书不匹配 通过 K8s 内部 DNS. 所有其他服务在80号口使用HTTP.
保存上游 X 前置 Host 而不是用自己的主机覆盖
当上游代理( Next.js) 设置 X- Forwarded- Host 到浏览器时 原主机, APIService 现在保存它而不是用它覆盖 拥有主机头. 当请求通过 内部 K8s 服务 URL.
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 更新以使用 WireGuard VPN IP (10. 8. x. x) 而不是旧的 Tailscale IP
K1m1 和 k2m1 的并行部署
- 将建筑和部署分开。 - 在建造完成后平行部署到 k1m1 和 k2m1 - 大大减少部署总时间
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 ****************
