Zezwalaj /domena / prefiks ścieżki na temat IngressRoute dla CORS
Temat na tematyce.kamormm.com/domena/... nie był dopasowany przez Istniejące zasady trasy (dozwolono tylko /public/ i /wewnętrzne/), więc Traefik Zwrócił 503 be...
Produkcja fail2ban z więzieniami PJSIP i uporczywym państwem
- Dodać fail2ban-configmap.yaml z więzieniami [asterisk] i [freepbx-webx], Stopniowa eskalacja zakazu (1 h-24h x 30d sufit), zignorowanie sieci LAN i a) Nie...
Zamień Coqui TTS na Piper TTS (en_US-norman-medium)
Model Coqui VCTK nie ma nazwanych głośników – zastąpiony Piper TTS, który ma Dokładny głos norman[średni]. Binarny Piper (-3 MB) i model (60 MB) Są pobierane pr...
Zintegruj Coqui TTS z głosem norman (VCTK p267)
- Wdrażaj serwer coqui-tts (model VCTK VITS, CPU-only) jako usługa ClusterIP na porcie 5002 z modelową pamięcią podręczną w /var/lib/coqui-ttts na k1m1 - Wstr...
Dodaj LAN DNS kapsułki do split-DNS na k1m1
Rozmieszcza dnsmasq pod z hostNetwork na k1m1, który słucha 192.168.4.22:53. Nadpisy pbx.k1.kluster.kamocrmm.com -> 192.168.4.22 Tak więc telefony LAN docierają...
Dodaj local_net dla poprawkę RTP klienta split-DNS / LAN
Telefony w tej samej sieci LAN co k1m1 łączą się za pomocą podzielonego DNS (domena rozwiązuje się do 192.168.4.22 wewnętrznie). Bez local_net, Asterisk nadal r...
Persist sorcery contact-memory fix i blokuje skaner SIP w starcie.sh
- Wstrzyknąć [res_pjsip] contact-memory do czarownika.conf przed rozpoczęciem Asterisk; Domyślny backend sorcery-astdb SQLite cicho upuszcza wszystkie kontakt...
Przenieś hostPath z MinIO (rclone FUSE) do local /var/lib/pbx
MinIO via rclone FUSE nie obsługuje POSIX chmod ani symlink() — oba Wymagany przez system modułowy FreePBX. Zmieniono wszystkie FreePBX i MariaDB hostPath wolum...
Wrap fwconsole/amportal przez php dla MinIO FUSE hostPath
/var/lib/asterisk jest wspierany przez MinIO przez rclone FUSE, który nie obsługuje POSIX chmod, więc skrypty fwconsole nie mogą być wykonane na tym woluminu. S...
Dodaj preStop hak i zakończenie GracePeriodSeconds
Pojemniki utknęły w Zakończeniu, ponieważ w tle Asterisk Procesy nadal działają po wyjściu apache2ctl (PID 1). SIGTERM do Astryszku, zanim Kubernetes zabije poj...
Dodaj bootstrap.php wymaga regenerowania /etc/freepbx.conf
Instalator zapisuje freepbx.conf z datasource-'' i require_once dla bootstrap.php, od którego config.php zależy od załadowania klasy FreePBX. W naszej zregenero...
Regeneruj /etc/freepbx.conf na restarcie
/etc jest efemeralny (nie hostPath), więc /etc/freepbx.conf napisany przez Instalator zaginął na każdym ponownym uruchomieniu kapsuły. Dodano inny oddział do re...
Bypass start_asterisk, poczekaj zamiast na gniazdko sterujące
Start_asterisk używa "pidof asterisk", który zwraca fałszywie dodatni wynik na strąku restarty, powodując powieszenie pętli oczekiwania na gwiazdę. Teraz startu...
Uruchom Asterisk w tle, poczekaj na niego, a następnie uruchach instalator
entrypoint.sh nie uruchamia instalatora FreePBX - dopiero się zaczyna usługi. startup.sh teraz replikuje kroki konfiguracji punktu wejścia, uruchamianie Asteris...
Pozwól uchwytu punkta wprowadzania instalacji, a nie startup.sh
Instalator FreePBX (index in install -n) wymaga, aby Asterisk już był Biegnąc. Nasz startup.sh dzwonił do niego, zanim Asterisk zaczął, powodując "Brzrszą komun...
Montaż /etc/asterisk, nie /etc, aby naprawić błąd PHP simplexml
Montaż pełnego /etc jako wolumin hostPath był uszkodzony rozszerzeniem PHP Załadunek nawet po zasiewaniu z obrazu — simplexml_load_file undefined W czasie insta...
Zredukuj limity procesorów do 2:1, aby wyeliminować nadmierne zaangażowanie
Rdzeń dokuje 4-1 rdzeń, jibri 4-2 rdzenie, librecal 2"1 rdzeń, Pandowy bergamot 2'1 core, coturn 10,5 rdzeń. Oszczędza 7,5 rdzeń poza granicami węzłów.
Przełącz na escomputers/freepbx:17 z odpowiednią architekturą
's zmęczeniofita / freepbx nie ma obrazu FreePBX 17 (opuszczonego od 2022 roku). escomputery/freepbx:17 (zaktualizowany pr. 2026, Asterisk 21 + FreePBX 17) wyma...
Upuść publiczne ingresję administratora; dostęp przez http://k[12]m1:8088
UI administratora jest teraz dostępny tylko wewnętrznie przez LAN/WireGuard na porcie 8088 (FreePBX's nginx związany bezpośrednio na hostNetwork). Bez Traefika,...
Wdraża FreePBX 17 + most Jigasi SIP na k1m1 i k2m1
FreePBX (tiredofit/freepbx:17-dawny) działa z hostNetwork, więc SIP/RTP Przechowuje prawdziwe adresy IP klientów, przypięte jeden na węzeł za pośrednictwem node...
Nazewnictwo importu Tls, eksport ścieżki fqdn; trasa poczty używa domyślnego TLSStore
Jeden certyfikat / tajnik na FQDN, więc liść CN pasuje do SNI (Safari)
Użyj ECDSA P-256 dla specyfikacji certyfikatu cert-manager i migracja RSA
Uwaga Lista SUBDOMAINS jest nieużywana; SAN pochodzą z dzienników Traefik
Syndowanie SUBDOMAINS z produktami aliasami DNS (dotacje, znak; usuwanie mediów)
Usuń nieistniejące opakowanie postfix-lmdb, zainstaluj bibliotekę lmdb zamiast
Postfix-lmdb nie jest ważnym pakietem Alpine; lmdb wsparcie jest wbudowane w Podstawowy pakiet poprawek. Kapsuła była CrashLoopBackOff z powodu porażki apk.
Dodaj cotygodniową śliwkę obrazu i pamiętnik CronJob dla k1m1
CronJob działa w każdą niedzielę 3 nad ranem, uprzywilejowany, przypięty do k1m1. - crictl rmi --prune usuwa nieużywane obrazy kontenerów - nsenter journal vacu...
Fix Rejestr obrazów Docs, dodaj strategię Odtwarzanie w celu ponownego tworzenia / postfix, zwiększ pamięć qdrant
- Dokumenty: naprawić niewłaściwy rejestr obrazów (redis.kamo.svc... - dodaj strategię Odtwórz - coturn: dodaj strategię Odtwarzać, aby zapobiec konfliktom z po...
Przełącz Postfix sasl_passwd z formatu hash do lmdb
Alpine postfix build nie obejmuje wsparcia hash — po mapie i smtp_sasl_password_maps cicho zawodzili, odraczając każde wyjście Próba przekaźnika przez smtp.mail...
Zestaw Traefik externalTrafficPolicyPolicja, aby zachować adres IP klienta
Dzięki domyślnej polityce "Cluster", kube-proxy SNATs ruch zewnętrzny Do adresu IP węzła przed przewinieniem do Traefik. To spowodowało, że Traefik zobaczył IP ...
Dodaj geo-database-url do tajemnicy analitycznej dla Geolite lookup CockroachDB
Kamo Analytics używa tego adresu URL, aby szukać odwiedzającego IP-country/region/city - Od stołów. Używa użytkownika kamo z Hasło auth i sslmode-require (Cockr...
Sprzątanie wdrażania analityki dziedzictwa na każdym CI
Usunąć stare wdrożenie analityki, usługi i ingresji, które konfliktu Dzięki wdrożeniu kamo-analitycznym zarządzanym przez własny rurociąg CI/CD.
Strip X-Frame-Options nagłówek w kompatybilnej z iframe-compatible middleware
Ustaw X-Frame-Options do pustego łańcucha, aby usunąć wartość SAMEORIGIN To było dziedziczone, umożliwiając CSP frame-ancestors kontrolę Zamiast tego iframe osa...
Dodaj kompatybilny z iframe bregodowy łańcuszek do analiz kamo
Dodaj security-headers-allow-iframe (bez X-Frame-Options) i Sieć kamo-middlewares-al-iframe, dzięki czemu można wbudować analitykę W iframes z internal.kamormm....
Przenieś kamo-analytics do posiadania repo, zachowaj tylko postgres w KlusterServices
- Usuń wdrożenie, usługę i nginx-configmap (obecnie należący do Projekt kamo-analityczny z własnym rurociągiem CI/CD) - Usuń analizę-ressroute (teraz w :) - U...
Resetuj dokument.title w rebrand() po jego przepisaniu
React re-appat łagodzenie ładunku RSC po nawodnieniu, resetując tytuł do "Aliancja" (ang.). Dodaj kontrolę tytułu w oddzwonij mutationObserver, aby to zrobić Je...
Zamień "analityczne" węzłów tekstowych "Kamo Analytics" zamiast rozliczać
Użyj TreeWalker, aby usunąć wszystkie "analityczne" węzły tekstowe z renderowanego DOM
Tytuł nav "analytics" pochodzi z wiązek JS załadowanych po auth, Wyrenderowany jako węzeł tekstowy obok logo SVG. Używa TreeWalker, aby znaleźć I wyczyścić wszy...
Dodaj strzeżony MutationObserver dla uporządkowanego klienta logo/tekstu
Login page i rozdzielczość jest renderowana przez pakiety Next.js JS, a nie W korpusie HTML, więc sub_filter nie może do niego dotrzeć. Dodaje scenariusz z a Za...
Przekieruj favicons na poziomie nginx, napraw ładowność RSC ładowność
- Podawać favicon przez nginx 302 przekierowanie zamiast próbować przepisać Hciągi href load HTML/RSC (czystsze, zawsze działa) - Napraw wymianę tytułu RSC z ...
Używaj czystych sub_filtrów zamiast mutacjiObserver
MutationObserver spowodował nieskończoną pętlę (DOM change -> Pożary obserwatora -> Zmiana DOM). Przełącz na bezpośrednie zamienniki ciągów nginx sub_filter cel...
Kompleksowa rebranding analityczna dla strony logowania i pulpitu nawigacyjnego
- Zamień dynamiczny tytuł (ręce "Login | analytics", "Dashboard | analytics" etc.) - Zastąp "analitykę" h2 tekst na stronie logowania Kamo image - Wymień ikonę ...
Użyj MutationObserver do zmiany nazwy analitycznej systemu Windows renderowanego UI
Analytics to aplikacja Next.js, która ustawia tytuł/logo przez JavaScript po pierwszym Załadunek HTML. Zastępuje statyczne podejście podfiltrowe z wstrzyknięcie...
Rebranding Analytics analytics UI z logo Kamo, tytuł i favicon
Dodaje nginx sidecar proxy, który wstrzykuje CSS w celu zastąpienia logo analityki Logo KamoCRM, zmienia tytuł strony na "Kamo Analytics" i zastępuje favicon.
Jak to, co widzisz żeglugę?
Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.