Fix kubectl not found in pod, add docs alias, proactive SUBDOMAINS
- Mount /usr/local/bin/kubectl from host via hostPath instead of failing apt-get install (kubectl not in default Debian repos) - Add "docs" to SUBDOMAINS list...
Add wopi-*** for DocsService
Adds WOPI JWT signing secret used by DocsService for Docs access tokens. Deployed to both K1M1 and K2M1 clusters.
Remove forced WebSocket headers from media middleware
Traefik v3 handles WebSocket Upgrade/Connection headers natively. Remove forced headers that broke non-WebSocket API requests.
Add system account to all NATS configs
Add $SYS account with admin credentials to k0m1, k1m1, and k2m1 NATS configs. Enables nats CLI cluster management operations (peer removal, step-down, etc.) for...
Resilient probes so cluster stays up when one node is offline
- Liveness: tcpSocket on 4222 (do not depend on JetStream meta leader) - Readiness: initialDelay 90s, period 15s, failureThreshold 10 so k0m1+k1m1 can form qu...
Update Traefik routes: themes.* assets now only load from k1m1 minio instead of balancing across k0m1, k1m1, and k2m1
Use VPN addresses for k0m1/k2m1 minio-public backends
- Endpoints: k0m1 10.8.0.1, k2m1 10.8.2.1 (VPN); k1m1 stays local - IngressRoute host match: 100.64.x.x -> 10.8.0.1, 10.8.1.1, 10.8.2.1
Skip CockroachDB init job if any pods exist - cluster already initialized
Improve CockroachDB init check to wait for pods and verify cluster state
Prevent CockroachDB init job from running when cluster is already initialized
Update CockroachDB probes, HTTP redirect, and MinIO service endpoints
Add CORS middleware to theme routes to allow cross-origin access from all websites
Add HTTP to HTTPS redirect middleware and IngressRoute
- Create redirect-to-https middleware for permanent redirects - Add catch-all IngressRoute on web entrypoint to redirect all kamocrm.com domains to HTTPS - Fixe...
Remove hostPort from Traefik deployment
- Port 443 is already bound by ingress-nginx via CNI hostPort - Keep standard containerPort configuration
Change Traefik service to LoadBalancer with externalIPs for direct access
- Use LoadBalancer type with externalIPs instead of NodePort - Allows router to forward port 443 directly to service IP - This should bypass ingress-nginx hostP...
Add hostPort to Traefik deployment for direct port access
- Use hostPort 443 for websecure entrypoint to bypass NodePort - Allows router to forward port 443 directly to Traefik - Also set hostPort for web (30080) and a...
Traefik NodePort 서비스에 대한 외부 트래픽 정책 설정
- 라우터에서 외부 트래픽의 적절한 여정을 허용 - 더 나은 로깅을 위한 소스 IP 주소 보존
Update CockroachDB StatefulSet to use dynamic VPN IP based on node hostname
- Fix advertise-addr to use VPN IP (10.8.1.1 for k1m1, 10.8.2.1 for k2m1) - Update join parameter to use VPN IPs instead of hostnames - Update node certificate ...
CockroachDB secret 생성에 노드 인증서 추가
- node.crt 및 node.key를 cockroachdb 디렉토리에 추가하십시오. - CI/CD 워크플로우를 업데이트하여 노드 인증서를 생성할 때 *** secret - CockroachDB CrashLoopBackOff 문제 수정
핸들 BackoffLimitExceeded by deleting 실패 일 과 retrying
- 작업이 BackoffLimitExceed 및 pods로 실패하면 정리, 삭제 및 재작업 - 새로운 팟에서 신선한 로그를 얻을 수 있습니다. - Catches 'already initialized' 오류가 재발행
핸들 BackoffLimit지난을 삭제하고 복원 작업
- 작업이 BackoffLimitExceed 및 pods로 실패하면 정리, 삭제 및 재작업 - 클러스터가 이미 초기화되는 경우 재발행 및 성공할 수 있습니다. - transient 실패의 더 나은 취급
Improve CockroachDB init job error handling when pods are cleaned up
- Check previous pod logs if current pods are not found - Test cluster connectivity to verify if already initialized - Better handling of failed jobs with clean...
MinIO secret creation from workflow (MinIO is managed manually)
Add automatic *** secret creation
- Create *** secret on both k1m1 and k2m1 - Secret contains MINIO_CURRENT_HOST pointing to k0m1 MinIO instance (http://10.8.0.1:9000) - Fixes kamowssecurity-dep...
Resolve Traefik, NATS, and CockroachDB deployment issues
- Remove hostPort from Traefik deployment (conflicts with NodePort service) - Fix NATS deployment to only deploy server-specific statefulsets (nats-k1m1, nats-k...
Improve CockroachDB init job error handling - check pod status and logs after timeout
Update IP addresses from Tailscale (100.64.x.x) to WireGuard VPN (10.8.x.x) for NATS, CockroachDB, and CI/CD workflows
Kamo 로고에 대한 CSS 전용 접근
CSS 배경 이미지를 사용하여 깨진 SVG 파일 마운트 제거 #logo 엘리먼트에서 외부 로고를 직접 로드
외부 Kamo 로고 URL을 참조하는 Logo.svg 수정
SVG 이미지 요소를 사용하여 외부 로고를 대신 embed 부서지는 변형의 복잡한 경로
Kamo 로고 SVG를 가진 Roundcube 로고.svg를 대체하십시오
마운트 사용자 정의 로고.svg에 **************** Roundcube 워터 마크 / 배경 로고 교체
사용자 정의 CSS 파일을 override Roundcube 워터 마크 로고에 추가
- watermark override로 custom.css 생성 - /var/www/html/custom.css에 CSS 파일을 마운트 - Extra stylesheets를 로드하는 Roundcube 구성
Watermark를 포함한 Kamo 로고로 모든 Roundcube 로고를 교체하십시오
덮개에 배열 체재에 update skin logo config: - 주요 헤더 로고 - 작은 붕괴 헤더 로고 - Inbox 워터 마크 / 배경 로고
Auto-cert SUBDOMAINS 목록에 메일 하위 도메인 추가
Mail.kamocrm.com에 대한 자동 SSL 인증서 생성 가능
인바운드 메일을 위한 hostPort를 통해 포스트픽스 포트 25 및 587 노출
K1M1에 외부 SMTP 연결을 받기를 위해 요구되는