Rinominare le app DNS alias da applicare
elenco SUBDOMAINS di auto-cert, l'URL di verifica della disponibilità e la commento middleware ora abbinare le applicazioni -> applicare subdomain rinominare in...
backup dell'universo: tirare mc da quay.io, docker.io/minio/mc è andato [skip ci]
MinIO ha ritirato le sue immagini Docker Hub, quindi il contenitore di caricamento del backup si è seduto ImagePullBackOff dal 2026-09-12. Con concurrencyPolicy...
node-config: la prugna del registro di sistema non deve legare con --delete-untagged [skip ci]
La prugna notturna su k1m1 viveva solo sull'ospite. Il suo colletto di spazzatura è andato con --delete-untagged, che elimina il per-platform manifesta un indic...
auto-cert: stop provisioning www.stack.loans
La tenuta di ratetack è stata scalata a 0 dal 2026-08-04, quindi nulla risponde HTTP-01 per stack.loans. I suoi certificati sono scaduti il 2026-08-02 e i loro ...
Disabilita il collezionista di xf di nodo-esportatore [skip ci]
Non può parse di questo kernel /proc/fs/xfs/stat ("xpc") e ha registrato un errore su ogni rottame, ~240/h per nodo. L'uso del filesystem non è influenzato (fil...
Kamo app possiede i tavoli ocr * [skip ci]
OCRService (web and worker) modifica le proprie tabelle ocr * all'avvio e rifiuta per iniziare senza proprietà; dopo il passaggio a kamo app il lavoratore si sc...
Non-superuser kamo app ruolo per tutti i carichi di lavoro di applicazione [skip ci]
Servizi connessi come kamo superutente. Aggiungere uno script idempotent che crea kamo app (no superuser, non un membro di kamo quindi non può SET ROLE back) co...
Scrape YugabyteDB tserver/YSQL e metriche della piscina SecurityService [skip ci]
Il dimensionamento della connessione non aveva dati dietro di esso: nulla raschiò il database o il Piscine Hikari. Aggiungi un lavoro di server-level tserver cu...
node-config(k3m1-ext): eno1 su DHCP come k3m1-ext, utilizzato solo dal traffico dal proprio indirizzo
il terzo cavo di k3m1 è il porto che invia il relè di rinfusa condiviso (postfix-orgs, 47.181.8.86). DHCP gli dà un indirizzo e nient'altro, quindi la tabella p...
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
Come quello che vedi la spedizione?
Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.
