Live Change Log

Vedi cosa stiamo costruendo in tempo reale. Ogni funzione, correzione e miglioramento spedito attraverso la piattaforma.

17,918
Variazioni totali
4,606
Caratteristiche
4,537
Fissazioni
32
Progetti
Filtra per progetto
Tutti i progetti17,918AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService372InitializerService300KBService74KlusterServices545MCPGatewayService43MediaService461RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,573kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,321kamo-signer-monorepo50kamolos102
Filtra per tipo
Tutti i tipiBuild24CI523Chore670Docs226Feature4,606Fix4,537Other6,781Performance136Refactor274Revert23Style48Test69Upgrade1
April 26, 2026
FeatureKlusterServices

Aggiungi il trasporto WSS WebRTC per i softphone del browser

Chan pjsip di Asterisk ora lega un trasporto WebSocket semplice su 0.0.0.0:8089 E Traefik termina la TLS all'indirizzo. così kamo-internal può registrare i soft...

Kamo·4mo ago
FixKlusterServices

Esposizione porto 8088 direttamente sul servizio ClusterIP

Il servizio aveva solo il porto 80→8088 mappatura. Servizi interni Non e' vero. (ad es. token API VOIPService richieste) erano tempi out perché porto 8088 non a...

Kamo·4mo ago
FixKlusterServices

Aggiungi fail2ban-config ConfigMap mancante per k1m1

Riferimenti di distribuzione fail2ban-config ConfigMap (jail.local + asterisk-security.conf) ma non esisteva, bloccando la capsula MountVolume. Impostare e impe...

Kamo·4mo ago
April 25, 2026
FixKlusterServices

Consentire /domain/ percorso prefisso sul tema IngressRoute per CORS

Il tema config a tema.kamocrm.com/domain/... non è stato abbinato dal regole di rotta esistenti (solo /pubblico/ e /internal/ sono stati autorizzati), quindi Tr...

Kamo·4mo ago
FeatureKlusterServices

Produzione fail2ban con carceri PJSIP e stato persistente

- Aggiungi fail2ban-configmap.yaml con le prigioni [asterisk] e [freepbx-web], escalation del divieto incrementale (1h→24h→30d soffitto), LAN ignoraip, e un fil...

Kamo·4mo ago
FixKlusterServices

Sostituire Coqui TTS con Piper TTS (en US-norman-medium)

Il modello Coqui VCTK non ha altoparlanti di nome — sostituire con Piper TTS che ha l'esatta voce norman[medium]. Piper binario (~3 MB) e modello (~60 MB) vengo...

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

Aggiungi local net per split-DNS / LAN client RTP fix

I telefoni sulla stessa LAN di k1m1 collegano tramite DNS diviso (il dominio si risolve 192.168.4.22 internamente). Senza local net, Asterisk ancora pubblicizza...

Kamo·4mo ago
FixKlusterServices

Persist stregoneria contatto=memory fix e bloccare lo scanner SIP in startup.sh

- Inject [res pjsip] contact=memory in sorcery.conf prima che Asterisk inizi; il backup predefinito strery-astdb SQLite scende silenziosamente tutti i contatti ...

Kamo·4mo ago
April 24, 2026
FixKlusterServices

Spostare hostPath da MinIO (rclone FUSE) a locale /var/lib/pbx

MinIO via rclone FUSE non supporta POSIX chmod o symlink() — entrambi richiesto dal sistema modulo di FreePBX. Cambiato tutti FreePBX e MariaDB volumi hostPath ...

Kamo·4mo ago
FixKlusterServices

Wrap fwconsole/amportal tramite php per MinIO FUSE hostPath

/var/lib/asterisk è supportato da MinIO tramite rclone FUSE che non supporta POSIX chmod, quindi gli script fwconsole non possono essere eseguibili su quel volu...

Kamo·4mo ago
FixKlusterServices

Aggiungi PreStop gancio e terminazioneGracePeriodSeconds

I container si bloccavano a Terminating perché lo sfondo Asterisk processi continuati in esecuzione dopo l'uscita di apache2ctl (PID 1). PreStop hook invia SIGT...

Kamo·4mo ago
FixKlusterServices

Aggiungere bootstrap.php richiedono rigenerazione /etc/freepbx.conf

L'installatore scrive freepbx.conf con datasource=''' e un request once per bootstrap.php, che config.php dipende da caricare la classe FreePBX. La nostra versi...

Kamo·4mo ago
FixKlusterServices

Rigenerare /etc/freepbx.conf in riavvio

/etc è ephemeral (non un hostPath), quindi /etc/freepbx.conf scritto da installatore è perso su ogni pod riavvio. Aggiunto altro ramo per rigenerare esso da env...

Kamo·4mo ago
FixKlusterServices

Bypass start asterisk, attendere la presa di controllo

start asterisk utilizza `pidof asterisk` che restituisce un falso positivo sul pod riavvia, causando il ciclo di attesa-per-Asterisk per appendere. Ora startup....

Kamo·4mo ago
FixKlusterServices

Avviare Asterisk in background, attendere per esso, quindi eseguire installer

Il entrypoint.sh non esegue il programma di installazione FreePBX: inizia solo servizi. startup.sh ora replica i passaggi di impostazione del punto di entrata, ...

Kamo·4mo ago
FixKlusterServices

Lascia installare la maniglia entrypoint, non startup.sh

FreePBX installer (php install -n) richiede Asterisk di essere già Correre. La nostra startup.sh lo chiamava prima che Asterisk iniziasse, causando "Errore comu...

Kamo·4mo ago
FixKlusterServices

Mount /etc/asterisk only, not /etc, per correggere l'errore PHP simplexml

Montaggio completo /etc come un volume hostPath stava corrompendo l'estensione PHP caricamento anche dopo la semina dall'immagine — simplexml load file non defi...

Kamo·4mo ago
FixKlusterServices

Ridurre i limiti della CPU al rapporto 2:1 per eliminare il sovraimpegno

Docs 4→1 core, jibri 4→2 core, libretranslate 2→1 core, bergamotto 2→1 core, coturn 1→0.5 core. Risparmia ~7.5 core dai limiti del nodo.

Kamo·4mo ago
FixKlusterServices

Passare a escomputers/freepbx:17 con architettura corretta

stanchezza/freepbx non ha immagine FreePBX 17 (abbandonata dal 2022). escomputers/freepbx:17 (aggiornamento apr 2026, Asterisk 21 + FreePBX 17) richiede un pod ...

Kamo·4mo ago
ChoreKlusterServices

Getta l'ingresso pubblico di admin; accesso via http://k[12]m1:8088

L'interfaccia utente è ora interna solo su LAN/WireGuard sulla porta 8088 (FreePBX's nginx vincolato direttamente su hostNetwork). Nessun percorso Traefik, no L...

Kamo·4mo ago
FeatureKlusterServices

Deploy FreePBX 17 + ponte Jigasi SIP su k1m1 e k2m1

FreePBX (tiredofit/freepbx:17-latest) funziona con hostNetwork così SIP/RTP preserva i veri IP client, pinned one-per-node tramite nodeSelector. SIP su 5060 UDP...

Kamo·4mo ago
April 23, 2026
April 21, 2026
April 20, 2026
ChoreKlusterServices

Rimuovi il gioco dalla lista SUBDOMAINS

Kamo·4mo ago
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
FixKlusterServices

Use MutationObserver to rebrand analytics client-side rendered UI

analytics is a Next.js app that sets title/logo via JavaScript after initial HTML load. Replaces static sub_filter approach with injected script that uses Mutat...

Kamo·4mo ago

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo