auto-cert: să curățare junk-cert de fapt vedea gunoiul a fost scris pentru
curățare orfan certificate() enumerate cu "-l auto-cert.kamo/fqdn." Asta eticheta este mai nouă decât certificatele scanerului funcţia există pentru a elimina, ...
autocert: eliberează certificatele unui org ca lot, nici unul la fiecare 90 de secunde
O nouă organizație are nevoie de un certificat pentru toate unsprezece dintre gazdele sale, și Fiecare dintre ele este un certificat separat de certificare-mana...
Preferați brotli pe gazdă temă, și corecta raționamentul anterior
Două lucruri, una dintre ele o corecție a comite înainte de aceasta. Comitatul anterior justificat împotriva api.kamocrm.com. Sonda a fost greşită. Seturi API...
Prefer brotli, nu mai comprima ceea ce este deja comprimat
Compress-ul comun a fost: {} Separate implicit și nici unul dintre ele este cel pe care îl dorim. Traefik alege gzip ori de câte ori clientul oferă la toate, i...
Încărcare cu liste de coloane explicite -- COPY poziţional corupe în tăcere
COPY t DE LA STDIN cu nici o listă de coloane hărți CSV câmpurile la tabelul fizic ordine coloană. CSV-urile provin de la COPY (SELECT *) pe CockroachDB, și Hib...
Încărcare cu liste de coloane explicite -- COPY poziţional corupe în tăcere
COPY t DE LA STDIN cu nici o listă de coloane hărți CSV câmpurile la tabelul fizic ordine coloană. CSV-urile provin de la COPY (SELECT *) pe CockroachDB, și Hib...
Paritate schema cu CockroachDB -- 714 tabele, 8706 coloane
Diff derivă câștigat locul său. KamoInitializerService construiește schema de la entitățile JPA și a produs 599 tabele; producția are 714. 115 diferența sunt ta...
Paritate schema cu CockroachDB -- 714 tabele, 8706 coloane
Diff derivă câștigat locul său. KamoInitializerService construiește schema de la entitățile JPA și a produs 599 tabele; producția are 714. 115 diferența sunt ta...
Translator complet CockroachDB->YSQL pentru migraţiile universului
Toate cele 15 migraţii se aplică acum în mod curat la YugabyteDB: 111 tabele, potrivire Exact. Opt construcţii distincte Doar pentru gândaci de bucătărie manipu...
Translator complet CockroachDB->YSQL pentru migraţiile universului
Toate cele 15 migraţii se aplică acum în mod curat la YugabyteDB: 111 tabele, potrivire Exact. Opt construcţii distincte Doar pentru gândaci de bucătărie manipu...
Export CSV prin COPY TO STDOUT, plus un verificator CSV-aware
Transport este COPY ... LA STDOUT CU (FORMAT CSV), nu --format=csv Acesta din urmă redă SQL NULL ca șir literal "NULL," imposibil de distins de o valoare reală...
Export CSV prin COPY TO STDOUT, plus un verificator CSV-aware
Transport este COPY ... LA STDOUT CU (FORMAT CSV), nu --format=csv Acesta din urmă redă SQL NULL ca șir literal "NULL," imposibil de distins de o valoare reală...
Face fiecare schema de matura-aware; kamo are 714 mese, nu 680
Încrucișarea SHOW backUP (714 obiecte) împotriva unui tabel schema="public" inventar (680) expuse 34 tabele care trăiesc în alte cinci scheme: e-mail metadata, ...
Face fiecare schema de matura-aware; kamo are 714 mese, nu 680
Încrucișarea SHOW backUP (714 obiecte) împotriva unui tabel schema="public" inventar (680) expuse 34 tabele care trăiesc în alte cinci scheme: e-mail metadata, ...
Capturarea inițială pentru verificarea parității CockroachDB la YugabyteDB
Două permise: număr de loturi ieftine (*), apoi un control independent de comandă. Checkum sume per-row md5 hashes ca numere întregi, mai degrabă decât evident...
Capturarea inițială pentru verificarea parității CockroachDB la YugabyteDB
Două permise: număr de loturi ieftine (*), apoi un control independent de comandă. Checkum sume per-row md5 hashes ca numere întregi, mai degrabă decât evident...
Secretele întâlnirilor *************** pentru înregistrarea Jibri ingerează
Lets jibri finalize.sh autentifica înregistrarea upload to MediaService; meciuri valoarea MediaService validează contra.
Furnizarea R1 MEDIA JetStream flux prin idempotent boottrap Job
Evenimente media/feed- lead (media.feed.*, media.post.*) nu au avut JetStream stream, așa că publică returnat '503 Niciun răspuns disponibil pentru cerere' (cha...
node-config (k1m1-runner): record data.forgejo.org IPv4 pin + capacitate=6
Documente de schimbare live on-node: date. forgejo.org este IPv6-doar și k1m1 are nr. Traseu IPv6, deci containerele de locuri de muncă atârnate ~133s și acțiun...
Consolidarea serviciilor kluster pe un singur grup k1m1+k3m1
- NATS: pod unic independent fixat k1m1 (diminuarea k2m1 + variante de grup generice) - CockroachDB: pin k1m1, single-node --join - MySQL: o singură instanță mu...
Upgrade v3.0 -> v3.3 (fixare intermitentă deconectare WebSocket)
v3.0.0 completează intermitent actualizarea WS 101 apoi închide priza înainte de orice fluxuri de cadru fără cap: primul/rece WS al unei sarcini de pagină moar...
comment
Containerele de locuri de muncă pe k1m1 cad înapoi la DNS publice, astfel încât flota-swept http://k1m1:3000 .gitmodule URL-uri nu se clonează acolo. Pin k1m1 î...
comment
K1m1 forgejo-runner construiește împinge la registrul HTTP Forgejo; daemon.json expediate cu numai :5000 intrări, astfel încât fiecare construi de locuri de mun...
Se alătură unui grup binodic comun cu k3m1 peste LAN; izolarea contului
Retrage traseele WireGuard (10.8.x.x) pentru rutele LAN (192.1668.4.22 <-> 192.168.4.36 :6222) cu crezuri încorporate în URL-urile traseului. Redenumește grupul...
node-config: raise k1m1 kubelet max-pods 110 - > 200
Implicit RKE2 max-poduri=110 a fost lovit, blocarea kamolos de rulare-update implementari (maxSurge:1,maxIndisponibil:0 are nevoie de slot pentru a crea pod nou...
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
Adaugă logo Kamo complet SVG cu toate cele 14 căi
Încorporează conținutul SVG complet direct în loc de căi parțiale
Utilizați numai abordarea CSS pentru logo-ul Kamo
Montare de fișiere SVG rupte, utilizând imaginea de fundal CSS pentru a încărca logo-ul extern direct pe #logo element
Fix logo.svg la URL-ul Kamo extern
Utilizați elementul de imagine SVG pentru a include logo-ul extern în loc de căi complexe cu transformari rupte
Înlocuiți logo-ul Roundcube cu logo-ul Kamo SVG
Montează logo-ul personalizat.svg la *************** pentru a înlocui sigla Roundcube watermark/background
Adaugă fișier CSS personalizat pentru a suprascrie logo-ul filigranului Roundcube
- Creat personalizat.css cu suprascriere filigran - Mount CSS file to /var/www/html/custom.css - Configurați Roundcube pentru a încărca foi suplimentare stiluri
Înlocuiți toate logo-urile Roundcube cu logo-ul Kamo inclusiv filigran
Actualizat skin logo config to array format to cover: - Logoul antetului principal - Logo-ul pentru antet mic prăbușit - Inbox watermark/background logo
Adaugă subdomeniu de e-mail la lista sub-certe
Activează crearea automată a certificatului SSL pentru mail.kamocrm.com
Expune porturi Postfix 25 și 587 prin intermediul gazdeiPort pentru mail de intrare
Necesar pentru primirea conexiunilor SMTP externe pe K1M1
Configurează Roundcube pentru a utiliza direct Mailgun SMTP
Bypassing locale Postfix pentru e-mail de ieșire, conectarea direct la smtp.mailgun.org cu TLS la portul 587
Comută postfixul la implementarea pe baze alpine cu sprijinul MySQL
Similar cu Dovecot, folosind Alpine 3.18 cu pachetul postfix-mysql instalat la rulare pentru suport de încredere MySQL hărți virtuale
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
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.