auto-cert: ジャンクサートのクリーンアップを実際にのために書かれていたジャンクを見てみましょう
cleanup orphan certificates() は '-l auto-cert.kamo/fqdn' でリストされています。 お問い合わせ ラベルは除去する機能がある走査器certsより新しいです、従って セレクターは、意図した目標を正確に除外し、削除しませんでした 何でも: baidu.com、spoti...
auto-cert: org の証明書を 90 秒ごとに 1 回ではなく、バッチとして発行
新しい組織は、そのホストのすべての11のための証明書を必要とします。 それぞれが別の証明書の証明書です。 各ループが待ち受ける 次の仕様を適用し、再構築する前にReadyになるホスト TLSStore は、毎回、ホストが約105秒離れたところに現れました。 終了まで約20分。 cert-managerは、常に実行して満...
主題のホストの好ましいbrotli、および前の合理的を訂正して下さい
2つのこと、そのうちの1つは、この前にコミットに修正します。 前のコミットは `encodings: [br, gzip]` をプローブで正当化しました api.kamocrm.com に対して。 プローブが間違っていた。 APIサービスセット `server.compression.enabled: true` を...
プレッダーbrotliは、既に圧縮されているものを圧縮するのを止めます
共有の `compress` ミドルウェア は `compress: {}` で、3 デフォルトを分離し、どれも私たちが望むものです。 Traefik は、クライアントがそれをすべて提供するたびに gzip を選択します。 クライアントが要求した注文。 api.kamocrm.com に対して測定される、 Sprin...
明示的な列リストで読み込む -- 位置COPYは静かに腐敗します
COPY t STDIN の列リスト無しで CSV フィールドをテーブルの PHYSICAL にマップしません 列の順序。 CSV は、CockroachDB および Hibernate の COPY (SELECT *) から来ています。 YugabyteDBテーブルを完全に異なる順序で作成する -- esign t...
明示的な列リストで読み込む -- 位置COPYは静かに腐敗します
COPY t STDIN の列リスト無しで CSV フィールドをテーブルの PHYSICAL にマップしません 列の順序。 CSV は、CockroachDB および Hibernate の COPY (SELECT *) から来ています。 YugabyteDBテーブルを完全に異なる順序で作成する -- esign t...
CockroachDB -- 714 テーブル、8706 列のスキーマのparity
ドリフトの差分は、その場所を獲得しました。 KamoInitializerService はスキーマをビルドします JPAエンティティティティティティティティから599テーブルを生産し、714を運びます。 ザ 115 違いは、エンティティティティが削除されたテーブルであり、そのテーブルは決してありません -- aban...
CockroachDB -- 714 テーブル、8706 列のスキーマのparity
ドリフトの差分は、その場所を獲得しました。 KamoInitializerService はスキーマをビルドします JPAエンティティティティティティティティから599テーブルを生産し、714を運びます。 ザ 115 違いは、エンティティティティが削除されたテーブルであり、そのテーブルは決してありません -- aban...
宇宙移行のための完全なCockroachDB->YSQL翻訳者
すべての15のマイグレーションは、YugabyteDB:111テーブルにクリーンに適用されます。 正確にCockroachDB. 8つの異なるCockroachDBのみの構成は、 処理されると、ミグレータを実行して失敗するまで、一度に見つけられます。 STRING/BYTESタイプ、HASH Bucket count...
宇宙移行のための完全なCockroachDB->YSQL翻訳者
すべての15のマイグレーションは、YugabyteDB:111テーブルにクリーンに適用されます。 正確にCockroachDB. 8つの異なるCockroachDBのみの構成は、 処理されると、ミグレータを実行して失敗するまで、一度に見つけられます。 STRING/BYTESタイプ、HASH Bucket count...
COPYからSTDOUTまでのCSVエクスポート、CSV-awareの検証
輸送はCOPY ... とSTDOUTに (FORMAT CSV), ない `cockroach sql --format=csv`。 後者はSQL NULLをリテラル文字列 "NULL" としてレンダリングします。 黙って変換されるだろう、実際の値から区別できない データベース内のすべての NULL は、インポートの...
COPYからSTDOUTまでのCSVエクスポート、CSV-awareの検証
輸送はCOPY ... とSTDOUTに (FORMAT CSV), ない `cockroach sql --format=csv`。 後者はSQL NULLをリテラル文字列 "NULL" としてレンダリングします。 黙って変換されるだろう、実際の値から区別できない データベース内のすべての NULL は、インポートの...
スキーマ・アウェアを一掃する。 kamo は 680 ではなく 714 のテーブル、
表 schema='public' に対する SHOW BACKUP (714 オブジェクト) のクロスチェック 在庫(680)は、他の5つのスキーマに住んで34テーブルを露出しました。 email metadata、email provider、email campaign、kamotokens、 meet prov...
スキーマ・アウェアを一掃する。 kamo は 680 ではなく 714 のテーブル、
表 schema='public' に対する SHOW BACKUP (714 オブジェクト) のクロスチェック 在庫(680)は、他の5つのスキーマに住んで34テーブルを露出しました。 email metadata、email provider、email campaign、kamotokens、 meet prov...
CockroachDB を YugabyteDB パーティーチェック用のベースラインキャプチャ
2つのパス:安いバッチカウント(*)、それから順序独立したチェックサム。 checksum は 1 列 md5 のハッシュを、明らかなものではなく整数としてまとめます。 md5(string agg(h ORDER BY h)))。 どちらも順に依存していますが、string aggg geolite blocks'...
CockroachDB を YugabyteDB パーティーチェック用のベースラインキャプチャ
2つのパス:安いバッチカウント(*)、それから順序独立したチェックサム。 checksum は 1 列 md5 のハッシュを、明らかなものではなく整数としてまとめます。 md5(string agg(h ORDER BY h)))。 どちらも順に依存していますが、string aggg geolite blocks'...
ミートシークレット ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
ジブリのfinalize.shは、録画アップロードをMediaServiceに認証します。マッチ MediaService のクラスター *** 値に対して検証します.
提供 R1 MEDIA JetStream ストリーム ビア idempotent boottrap 仕事
メディア/リードフィードイベント (media.feed.*, media.post.*) は JetStream がなかった ストリーム, ので、返された公開 '503 要求のために利用可能な応答なし' (chat.> は CHAT MESSAGES に覆われています。) NATSは単一のスタンドアローンインスタン...
node-config(k1m1-runner): レコード data.forgejo.org IPv4 ピン + 容量=6
ライブのオンノード変更:データ。 forgejo.org は IPv6 だけであり k1m1 は いいえ IPv6 のルートは、ジョブコンテナは ~133s と action/checkout が失敗しました。 ピンそのIPv4 --add-host、/etc/forgejo-runner/config.yaml を ...
Klusterservicesを単一のk1m1+k3m1クラスターに統合
- NATS:スタンドアローンシングルポッドピン付きk1m1(k2m1 +ジェネリッククラスターバリアントをドロップ) - CockroachDB: ピン k1m1、単一ノード --join - MySQL: 単一インスタンスは、ratetack (cluster-services ns, hostPath on k1...
アップグレードv3.0 → v3.3 (断続的なWebSocketの接続を解除)
v3.0.0 は WS 101 のアップグレードを完了し、ソケットを閉じます。 フレームフロー — 宇宙ゲームクライアントの「負荷の接続解除」の再発 headless: ページの読み込みの WS が 101 の後に ~200ms の 1 つ/冷たい WS、クライアントのリトライ watchdog マスクします。 WSブ...
node-config: ドキュメント k1m1 forgejo-runner config (---add-host for submodule DNS)
K1m1上のジョブコンテナはパブリックDNSに戻り、フリート・スウェット http://k1m1:3000 .gitmodules URL はそこにクローン化できません。 ピンk1m1 コンテナ.options --add-host (broke 融資サービス CI 2026-06-12) 経由でコンテナ.
node-config: ドキュメント k1m1 ドッカー デーモン 安全登録
K1m1 forgejo-runnerのビルドはHTTP Forgejoレジストリにプッシュします。 daemon.json は :5000 エントリのみで出荷されるため、すべてのビルドジョブランディング k1m1 では HTTPS-to-HTTP エラー (2026-06-12) で Docker ログインが失敗しま...
共有2ノードクラスターを k3m1 で LAN に接続します。アカウントの分離
LAN ルート (192.168.4.22 <-> 192.168.4.36 ) の WireGuard のルートを修復します。 :6222) ルート URL に埋め込まれたクレジット。 クラスターの名前を変更する kamo-ratestack-nats (ファルタック/k3m1 と共有). マルチアカウント分離:カモ...
ノード構成: k1m1 kubelet max-pods 110 -> 200 を上げる
デフォルト RKE2 max-pods=110 がヒットし、kamolos ロール更新をブロック デプロイ (maxSurge:1,maxUnavailable:0 は、前の新しいPodを作成するためのスロットを必要とします 古い;キャップでデッドロックされた)。 k1m1 は 48 コア + 125 GiB RAM...
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
MinIO secret creation from workflow (MinIO is managed manually)
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
Add auth debugging and ensure MySQL driver packages for Dovecot
- Enable auth_debug, auth_debug_passwords, auth_verbose - Add dovecot-mysql package for proper SQL support - Add mariadb-connector-c for MySQL protocol compatib...
Add MySQL auth fix job for MariaDB client compatibility
Changes kamo user from caching_sha2_password to mysql_native_password Required for Dovecot (Alpine/MariaDB) to connect to MySQL 8
Replace Roundcube logo with Kamo logo
Added skin_logo config pointing to **************** Updated deployment annotation to trigger pod restart
Fix MySQL auth: change kamo user to mysql_native_password
Alpine's MariaDB client doesn't support caching_sha2_password plugin This prevents Dovecot from connecting to MySQL for authentication
Force Roundcube pod restart to pick up ConfigMap change
Added annotation to trigger pod recreation since ConfigMap with subPath doesn't auto-update in running pods
Fix Roundcube redirect loop - disable force_https
Traefik handles TLS termination, so internal traffic is HTTP Setting force_https=true caused Roundcube to redirect to HTTPS internally creating an infinite redi...
Reference kamocrm.com wildcard cert in mail IngressRoute
The certificate secret is in kamo namespace, copied to mail namespace tls.secretName explicitly references wildcard-kamocrm-com
Fix mail IngressRoute to use auto-cert service
Changed tls from certResolver: letsencrypt to tls: {} This allows the auto-cert service to automatically generate certs when mail.kamocrm.com is accessed
Fix Roundcube readiness probe - use TCP socket instead of HTTP
Roundcube redirects / to login page (302), failing HTTP readiness probe TCP socket check on port 80 works correctly