Live Change Loglog

Посмотрите, что мы строим в реальном времени. Все функции, исправления и улучшения отправляются через платформу.

17,924
Общие изменения
4,611
Особенности
4,537
Исправления
32
Проекты
Фильтр по проекту
Все проекты17,924AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService373InitializerService300KBService74KlusterServices546MCPGatewayService43MediaService461RAGService61SecurityService1,520TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,575kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,322kamo-signer-monorepo50kamolos102
Фильтр по типу
Все типыBuild24CI523Chore670Docs226Feature4,611Fix4,537Other6,781Performance136Refactor274Revert23Style48Test70Upgrade1
April 26, 2026
FixKlusterServices

Включить встроенный HTTP-сервер Asterisk на :8089 для WebRTC /ws

Транспортный маршрут Chan pjsip 'protocol=ws' поверх res http websocket Что, в свою очередь, требует запуска встроенного HTTP-сервера Asterisk. The FreePBX 17 п...

Kamo·4mo ago
FeatureKlusterServices

Добавить транспорт WSS WebRTC для софтфонов браузера

Asterisk chan pjsip теперь связывает простой транспорт WebSocket на 0.0.0.0:8089 и Traefik прекращает TLS на **************** (порт 443) kamo-internal может рег...

Kamo·4mo ago
FixKlusterServices

Экспозиция порта 8088 непосредственно в сервисе ClusterIP

Сервис имел только порт 80→8088 отображения. Внутренние службы используют **************************** (например, токен VOIPService API) Запросы были отсрочены,...

Kamo·4mo ago
FixKlusterServices

Добавить недостающий отказ2ban-config ConfigMap для k1m1

Ссылки на развертывание fail2ban-config ConfigMap (jail.local +) asterisk-security.conf) но его не существовало, заблокировав подставку на МаунтВолуме. Настройк...

Kamo·4mo ago
April 25, 2026
FixKlusterServices

Разрешить префикс /domain/ path на тему IngressRoute для CORS

Конфигурация темы на theme.kamocrm.com/domain/... не соответствовала Существующие правила маршрута (разрешены только /публичные / и /внутренние /) Вернулся 503 ...

Kamo·4mo ago
FeatureKlusterServices

Производство провалилось2ban с тюрьмами PJSIP и постоянным состоянием

Добавить fail2ban-configmap.yaml с [asterisk] и [freepbx-web] тюрем, постепенная эскалация запрета (1h→24h→30d потолок), LAN ignoreip и пользовательский фильтр ...

Kamo·4mo ago
FixKlusterServices

Заменить Coqui TTS на Piper TTS (en US-norman-medium)

Модель Coqui VCTK не имеет названных динамиков — замените Piper TTS, который имеет динамики. Точный нормальный [средний] голос. Пипер двоичный (~3 МБ) и модель ...

Kamo·4mo ago
FeatureKlusterServices

Integrate Coqui TTS with norman voice (VCTK p267)

- Deploy coqui-tts server (VCTK VITS model, CPU-only) as ClusterIP service on port 5002 with model cache at /var/lib/coqui-tts on k1m1 - Inject coqui_tts.agi ...

Kamo·4mo ago
FeatureKlusterServices

Add LAN DNS pod for split-DNS on k1m1

Deploys a dnsmasq pod with hostNetwork on k1m1 that listens on 192.168.4.22:53. Overrides pbx.k1.kluster.kamocrm.com -> 192.168.4.22 so LAN phones reach the PBX...

Kamo·4mo ago
FixKlusterServices

Добавить local net для сплит-DNS/LAN клиента RTP

Телефоны в той же локальной сети, что и k1m1, подключаются через разделенный DNS (домен решается на 192.168.4.22 Внутренне. Без локальной сети Asterisk по-прежн...

Kamo·4mo ago
FixKlusterServices

Настойчивый контакт с магией = исправление памяти и блокировка SIP-сканера в startup.sh

Введите [res pjsip] contact=memory в sorcery.conf перед началом Asterisk; бэкэнд по умолчанию sorcery-astdb SQLite бесшумно отбрасывает все контакты REGISTER - ...

Kamo·4mo ago
April 24, 2026
FixKlusterServices

Переместить hostPath из MinIO (клон FUSE) в локальный /var/lib/pbx

MinIO через клон FUSE не поддерживает POSIX chmod или symlink() Требуется модульной системой FreePBX. Изменились все FreePBX и MariaDB Объемы hostPath от /mnt/s...

Kamo·4mo ago
FixKlusterServices

Wrap fwconsole/amportal via php for MinIO FUSE hostPath

/var/lib/asterisk поддерживается MinIO через клон FUSE. POSIX chmod, поэтому скрипты fwconsole не могут быть выполнены на этом томе. Startup.sh создает оберточн...

Kamo·4mo ago
FixKlusterServices

Добавить preStop hook и terminationGracePeriodSeconds

Контейнеры застряли в терминации из-за фона Asterisk Процессы продолжали работать после выхода apache2ctl (PID 1). Престоп-хук посылает SIGTERM до Asterisk, пре...

Kamo·4mo ago
FixKlusterServices

Добавить bootstrap.php требуется регенерировать /etc/freepbx.conf

Установщик пишет freepbx.conf с datasource='' и require once для bootstrap.php, от которого зависит загрузка класса FreePBX. Наша регенерированная версия отсутс...

Kamo·4mo ago
FixKlusterServices

Регенерировать /etc/freepbx.conf для перезапуска

/etc является эфемерным (не хост-Пат), поэтому /etc/freepbx.conf написан Установщик теряется при каждом перезапуске. Добавлена ветвь для регенерации это от env ...

Kamo·4mo ago
FixKlusterServices

Bypass start asterisk, дождитесь розетки управления

start asterisk использует «pidof asterisk», который возвращает ложный положительный результат на под Перезапускается, в результате чего петля ожидания звездочки...

Kamo·4mo ago
FixKlusterServices

Запустите Asterisk в фоновом режиме, подождите его, затем запустите установщик

Начальная точка.sh не запускает установщик FreePBX — он только запускается. услуг. Startup.sh теперь повторяет этапы настройки точки входа и запускает Asterisk ...

Kamo·4mo ago
FixKlusterServices

Пусть точка входа обрабатывает установку, а не start.sh

Установщик FreePBX (php install -n) требует наличия Asterisk. бегать. Наш стартап.sh называл его до того, как началась Asterisk. "Ошибка в общении со звездочкой...

Kamo·4mo ago
FixKlusterServices

Маунт /etc/asterisk, а не /etc для исправления ошибки simplexml

Установка полного /etc в качестве тома hostPath портит расширение PHP Загрузка даже после посева из изображения — simplexml load file не определен во время уста...

Kamo·4mo ago
FixKlusterServices

Уменьшите пределы процессора до соотношения 2:1, чтобы устранить чрезмерную приверженность

Док 4→1 ядро, джибри 4→2 ядра, либретранслировать 2→1 ядро, ядро бергамота 2→1, ядро поворота 1→0,5. Сохраняет ~7,5 ядер от пределов узлов.

Kamo·4mo ago
FixKlusterServices

Переход на escomputers/freepbx:17 с правильной архитектурой

у уставшего / freepbx нет изображения FreePBX 17 (заброшен с 2022 года). escomputers/freepbx:17 (обновленный Apr 2026, Asterisk 21 + FreePBX 17) отдельный модул...

Kamo·4mo ago
ChoreKlusterServices

Бросьте общедоступный вход администратора; доступ через http://k[12]m1:8088

UI администратора теперь только внутри LAN / WireGuard на порту 8088 (FreePBX) nginx связан непосредственно с hostNetwork. Нет маршрута Traefik, нет Let's Encry...

Kamo·4mo ago
FeatureKlusterServices

Развернуть FreePBX 17 + Jigasi SIP мост на k1m1 и k2m1

FreePBX (tiredofit/freepbx:17-latest) работает с hostNetwork, поэтому SIP/RTP Сохраняет реальные IP-адреса клиентов, прикрепленный один на узел через nodeSelect...

Kamo·4mo ago
April 23, 2026
April 21, 2026
April 20, 2026
April 19, 2026
April 18, 2026
FixKlusterServices

Remove nonexistent postfix-lmdb package, install lmdb library instead

postfix-lmdb is not a valid Alpine package; lmdb support is built into the base postfix package. The pod was CrashLoopBackOff due to apk failure.

Kamo·4mo ago
FeatureKlusterServices

Add weekly image prune and journal vacuum CronJob for k1m1

CronJob runs every Sunday 3am, privileged, pinned to k1m1. - crictl rmi --prune removes unused container images - nsenter journal vacuum enforces 500MB cap - CI...

Kamo·4mo ago
FeatureKlusterServices

Add Docs deploy step to workflow

Kamo·4mo ago
FixKlusterServices

Fix Docs image registry, add Recreate strategy to coturn/postfix, increase qdrant memory

- Docs: fix wrong image registry (redis.kamo.svc... → **************** add Recreate strategy - coturn: add Recreate strategy to prevent rolling update port conf...

Kamo·4mo ago
FixKlusterServices

Switch Postfix sasl_passwd from hash to lmdb format

Alpine postfix build does not include hash support — postmap and smtp_sasl_password_maps were silently failing, deferring every outbound relay attempt through s...

Kamo·4mo ago
FixKlusterServices

Set Traefik externalTrafficPolicy=Local to preserve client IP

With the default "Cluster" policy, kube-proxy SNATs external traffic to the node IP before forwarding to Traefik. That caused Traefik to see the node IP as the ...

Kamo·4mo ago
April 17, 2026
FeatureKlusterServices

Add geo-database-url to analytics-secret for CockroachDB geolite lookup

Kamo Analytics uses this URL to look up visitor IP→country/region/city from the **************** tables. Uses kamo user with password auth and sslmode=require (...

Kamo·4mo ago
FixKlusterServices

Clean up legacy analytics deployment on each CI run

Delete old analytics deployment, service, and ingressroute that conflict with the kamo-analytics deployment managed by its own CI/CD pipeline.

Kamo·4mo ago
FixKlusterServices

Strip X-Frame-Options header in iframe-compatible middleware

Set X-Frame-Options to empty string to remove the SAMEORIGIN value that was being inherited, allowing CSP frame-ancestors to control iframe embedding instead.

Kamo·4mo ago
FeatureKlusterServices

Add iframe-compatible middleware chain for kamo-analytics

Add security-headers-allow-iframe (no X-Frame-Options) and kamo-middlewares-allow-iframe chain so analytics can be embedded in iframes from internal.kamocrm.com...

Kamo·4mo ago
FeatureKlusterServices

Move kamo-analytics to own repo, keep only postgres in KlusterServices

- Remove analytics deployment, service, and nginx-configmap (now owned by kamo-analytics project with its own CI/CD pipeline) - Remove analytics-ingressroute ...

Kamo·4mo ago
FixKlusterServices

Reset document.title in rebrand() when React overwrites it

React re-applies RSC payload after hydration, resetting the title to "analytics". Add a title check inside the MutationObserver callback so it gets corrected ev...

Kamo·4mo ago
FixKlusterServices

Use TreeWalker to remove all "analytics" text nodes from rendered DOM

The workspace nav title "analytics" comes from JS bundles loaded after auth, rendered as a text node next to the logo SVG. Uses TreeWalker to find and clear all...

Kamo·4mo ago
FixKlusterServices

Add guarded MutationObserver for client-side rendered logo/text

Login page and dashboard content is rendered by Next.js JS bundles, not in the HTML body, so sub_filter can't reach it. Adds a script with a busy-flag-guarded M...

Kamo·4mo ago
FixKlusterServices

Redirect favicons at nginx level, fix RSC payload escaping

- Serve favicon via nginx 302 redirect instead of trying to rewrite HTML/RSC payload href strings (cleaner, always works) - Fix RSC title replacement with pro...

Kamo·4mo ago
FixKlusterServices

Use pure sub_filter replacements instead of MutationObserver

MutationObserver caused infinite loop (DOM change -> observer fires -> DOM change). Switch to direct nginx sub_filter string replacements targeting both static ...

Kamo·4mo ago
FixKlusterServices

Comprehensive analytics rebranding for login page and dashboard

- Replace title dynamically (handles "Login | analytics", "Dashboard | analytics" etc.) - Replace "analytics" h2 text on login page with Kamo logo image - Repla...

Kamo·4mo ago

Как вы видите судоходство?

Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.

Начните бесплатно навсегдаПосмотреть цены