auto-cert: lasciare che la pulizia della spazzatura effettivamente vedere la spazzatura che è stato scritto per
cleanup orphan certificates() elencato con '-l auto-cert.kamo/fqdn'. Che cosa? etichetta è più recente di quanto lo scanner certs la funzione esiste per rimuove...
auto-cert: rilasciare i certificati di un org come lotto, non uno ogni 90 secondi
Una nuova organizzazione ha bisogno di un certificato per tutti gli undici dei suoi ospiti, e ciascuno è un certificato cert-manager separato. Il loop ha aspett...
Preferire brotli sull'host tema, e correggere la razionalità precedente
Due cose, una di loro una correzione al commit prima di questo. Il commit precedente giustificato `codifica: [br, gzip]` con una sonda contro api.kamocrm.com. ...
Preferire brotli, smettere di comprimere ciò che è già compresso
Il middleware condiviso `compress` era `compresso: {}`, che è tre di default separati e nessuno di loro è quello che vogliamo. Traefik sceglie gzip ogni volta ...
Caricare con liste di colonne esplicite -- il COPY posizionale corrompe silenziosamente
COPY t DA STDIN senza elenco colonne mappa campi CSV alla tabella PHYSICAL ordine della colonna. I CSV provengono da COPY (SELECT *) su CockroachDB e Hibernate ...
Caricare con liste di colonne esplicite -- il COPY posizionale corrompe silenziosamente
COPY t DA STDIN senza elenco colonne mappa campi CSV alla tabella PHYSICAL ordine della colonna. I CSV provengono da COPY (SELECT *) su CockroachDB e Hibernate ...
Schema parity con CockroachDB -- 714 tabelle, 8706 colonne
Il diff deriva si è guadagnato il suo posto. KamoInitializerService costruisce lo schema da entità JPA e prodotte 599 tabelle; la produzione trasporta 714. Il 1...
Schema parity con CockroachDB -- 714 tabelle, 8706 colonne
Il diff deriva si è guadagnato il suo posto. KamoInitializerService costruisce lo schema da entità JPA e prodotte 599 tabelle; la produzione trasporta 714. Il 1...
Traduttore completo CockroachDB->YSQL per le migrazioni dell'universo
Tutte le 15 migrazioni si applicano in modo pulito a YugabyteDB: 111 tabelle, corrispondenti CockroachDB esattamente. Otto distinti CockroachDB-solo costrutti d...
Traduttore completo CockroachDB->YSQL per le migrazioni dell'universo
Tutte le 15 migrazioni si applicano in modo pulito a YugabyteDB: 111 tabelle, corrispondenti CockroachDB esattamente. Otto distinti CockroachDB-solo costrutti d...
Esportazione CSV tramite COPY a STDOUT, più un verificatore CSV-aware
Trasporto è COPY ... A STDOUT CON (FORMAT CSV), non `cockroach sql --format=csv`. Quest'ultimo rende SQL NULL come la stringa letterale "NULL", indistinguibile ...
Esportazione CSV tramite COPY a STDOUT, più un verificatore CSV-aware
Trasporto è COPY ... A STDOUT CON (FORMAT CSV), non `cockroach sql --format=csv`. Quest'ultimo rende SQL NULL come la stringa letterale "NULL", indistinguibile ...
Fare ogni spazzare lo schema-aware; kamo ha 714 tavoli, non 680
SHOW BACKUP (714 oggetti) contro un table schema='public' inventario (680) esposto 34 tabelle che vivono in altri cinque schemi: email metadata, email provider,...
Fare ogni spazzare lo schema-aware; kamo ha 714 tavoli, non 680
SHOW BACKUP (714 oggetti) contro un table schema='public' inventario (680) esposto 34 tabelle che vivono in altri cinque schemi: email metadata, email provider,...
Baseline cattura per CockroachDB a YugabyteDB controllo di parità
Due passaggi: a buon mercato conteggio lotto(*), poi un checksum indipendente dall'ordine. Il checksum somma per-row md5 hashes come interi piuttosto che l'ovv...
Baseline cattura per CockroachDB a YugabyteDB controllo di parità
Due passaggi: a buon mercato conteggio lotto(*), poi un checksum indipendente dall'ordine. Il checksum somma per-row md5 hashes come interi piuttosto che l'ovv...
Segreti di incontro ******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
Consente a jibri finalize.sh di autenticare il suo caricamento di registrazione su MediaService; match il valore di cluster *** MediaService valida contro.
Provisione R1 MEDIA JetStream stream via idempotent bootstrap Job
Media/feed event (media.feed.*, media.post.*) non aveva JetStream stream, così pubblica restituito '503 Nessun risponditore disponibile per richiesta' (chat.> è...
node-config(k1m1-runner): record data.forgejo.org IPv4 pin + capacità=6
Documenti il live on-node change: dati. forgejo.org è IPv6-solo e k1m1 non ha percorso IPv6, così i contenitori di lavoro hanno appeso ~133s e azioni/checkout n...
Consolidare klusterservices su singolo cluster k1m1+k3m1
- NATS: singolo pod standalone pinned k1m1 (drop k2m1 + varianti cluster generiche) - CockroachDB: pin k1m1, single-node --join - MySQL: singola istanza spostat...
Aggiornamento v3.0 -> v3.3 (fisso intermittente WebSocket scollegare)
v3.0.0 intermittently completa l'aggiornamento WS 101 quindi chiude la presa prima di qualsiasi flussi di frame — il ricorrente 'sconnettersi su carico' nel cli...
node-config: documento k1m1 forgejo-runner config (--add-host for submodule DNS)
I contenitori di lavoro su k1m1 rientrano nel DNS pubblico, quindi la flotta-swept http://k1m1:3000 .gitmodules URLs non riescono a clonare lì. Pin k1m1 nel lav...
node-config: document k1m1 docker daemon insecure-registries
Il forgejo-runner k1 costruisce spingere al registro HTTP Forgejo; il daemon.json spedito con solo:5000 voci, quindi ogni atterraggio di lavori di costruzione s...
Unisciti a cluster bidirezionale condiviso con k3m1 su LAN; isolamento account
Ritirare le rotte WireGuard (10.8.x.x.x) per le rotte LAN (192.168.4.22 <-> 192.168.4.36 :6222) con i cred incorporati negli URL del percorso. Rinominare il clu...
node-config: raise k1m1 kubelet max-pods 110 -> 200
Predefinito RKE2 max-pods=110 è stato colpito, bloccando kamolos rolling-update distribuisce (maxSurge:1,maxNon disponibile:0 ha bisogno di slot per creare nuov...
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
Aggiungi il logo completo Kamo SVG con tutti i 14 percorsi
Inserisci il contenuto SVG completo direttamente invece di percorsi parziali
Utilizzare l'approccio CSS solo per il logo Kamo
Rimuoveto il supporto file SVG rotto, utilizzando l'immagine di sfondo CSS caricare il logo esterno direttamente sull'elemento #logo
Fissare logo.svg per riferimento esterno logo Kamo URL
Utilizzare l'elemento immagine SVG per incorporare il logo esterno invece di percorsi complessi con trasformazioni rotte
Sostituisci logo Roundcube.svg con logo Kamo SVG
Montare il logo personalizzato. per sostituire il logo Roundcube watermark/background
Aggiungi il file CSS personalizzato per sovrascrivere il logo Roundcube watermark
- Creato custom.css con override watermark - Montaggio del file CSS a /var/www/html/custom.css - Configurare Roundcube per caricare fogli aggiuntivi style
Sostituisci tutti i loghi Roundcube con il logo Kamo incluso watermark
Aggiornato skin logo config al formato array per coprire: - Logo principale dell'intestazione - Piccolo logo intestazione collassato - Marchio di watermark/back...
Aggiungere il sottodominio della posta all'elenco di auto-cert SUBDOMAINS
Consente la creazione automatica del certificato SSL per mail.kamocrm.com
Expose Postfix porte 25 e 587 via hostPort per posta in entrata
Richiesto per ricevere connessioni SMTP esterne su K1M1
Configurare Roundcube per utilizzare Mailgun SMTP direttamente
Passando Postfix locale per posta in uscita, collegandosi direttamente a smtp.mailgun.org con TLS sul porto 587
Passare Postfix alla distribuzione alpina con supporto MySQL
Simile a Dovecot, utilizzando Alpine 3.18 con pacchetto postfix-mysql installato in runtime per il supporto affidabile di mappe virtuali 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
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.