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シークレット作成に追加
- cockroachdbディレクトリにnode.crtとnode.keyを追加 - CI/CD ワークフローを更新し、ノードの証明書を生成し、*** の秘密を生成します。 - Fix CockroachDBクラッシュループバックオフの問題
ハンドル BackoffLimit失敗した仕事および再試行の削除によって隠される
- ジョブが BackoffLimitExceed と pod がクリーンアップされ、ジョブを削除、再作成に失敗した場合 - これは、新しいポッドから新鮮なログを取得することができます - 再試行の「既読初期化」エラーをキャッチ
ハンドル BackoffLimit 削除し、入力ジョブを再試行することによって完了
- ジョブが BackoffLimitExceed と pod がクリーンアップされ、ジョブを削除、再作成に失敗した場合 - これは、クラスターが既に初期化されている場合、ジョブを再試行して成功させることができます - 過渡障害のより良い処理
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
カモロゴのCSSのみのアプローチを使用する
CSSの背景画像を使用して、壊れたSVGファイルマウントを削除 #logo要素に直接外部ロゴをロードする
Fix 外部カモロゴURLを参照するためのロゴ.svg
SVGイメージ要素を使って外部ロゴを埋め込む 壊れた変換で複雑なパス
ラウンドキューブロゴ.svgをカモロゴSVGに置き換える
マウントカスタムロゴ.svgに******************** Roundcubeの透かし/背景のロゴを取り替えるため
RoundcubeウォーターマークロゴをオーバーライドするカスタムCSSファイルを追加
- 透かしオーバーライドでカスタムCSを作成 - CSS ファイルを /var/www/html/custom.css にマウントする - 追加の スタイルシートをロードする Roundcubeの設定
ウォーターマークを含むカモロゴですべてのラウンドキューブロゴを交換
Skin logo config を配列形式に更新してカバーします。 - 主要なヘッダーのロゴ - 小さい崩壊されたヘッダーのロゴ - 箱の透かし/背景のロゴ
メールサブドメインを自動認証SUBDOMAINSリストに追加
Mail.kamocrm.com の自動 SSL 証明書作成を有効にします
Postfix ポートを 25 と 587 で hostPort でインバウンドメール
K1M1での外部SMP接続を受信するために必要な
Mailgun SMTP を直接使用する Roundcube の設定
外部メールのローカル Postfix を迂回し、直接接続する smtp.mailgun.org ポート上のTLS 587
MySQLサポートでAlpineベースのデプロイメントにPostfixを切り替える
Dovecotと同様に、Alpine 3.18とpostfix-mysqlパッケージ 信頼性の高い MySQL 仮想マップのサポートのためのランタイムにインストール
Fix postfix command to use apt-get instead of apk
boky/postfix is Debian-based, not Alpine
Add postfix-mysql support for MySQL virtual maps
Installed postfix-mysql package at container startup to enable MySQL dictionary lookups for virtual domains/users/aliases