KamoCRM

Cinque motivi per cui l'immagine d'oro non era mai stata costruita

FixKlusterServices
Shipped
23 settembre 2026 alle ore 09:09 UTC
Author
Kamo
Commit
bc8eb06

La costruzione non era mai stata gestita. L'esecuzione ha trovato un bug per tentativo, e il primo tre avrebbero prodotto ciascuna un'immagine plausibile con qualcosa che manca. 1. package.txt dice "linee vuote e # commenti sono spogliati" e niente spogliato loro: `tr '\n' ', '' ha consegnato ogni riga di commento come nome di pacchetto. apt ha risposto con quaranta "Impossibile individuare il pacchetto" linee che citano la prosa inglese. 2. `qemu-img ridimensiona `cresce il contenitore qcow2 e lascia la tabella delle partizioni e root filesystem da solo — circa 2,5 GB nell'immagine di Canonical. Un'immagine cloud normalmente cresce se stesso sul primo avvio attraverso il cloud-init growpart; virt-customize mai stivali esso, così 914 MB di desktop è uscito di spazio a metà strada attraverso dpkg --unpack. virt-resize --expand ora sposta la partizione prima che qualcosa sia installato in esso. 3. `firefox` su Ubuntu 24.04 è un deb transitorio il cui unico lavoro è quello di installare snap. Senza scattare in un'immagine costruire le sue stampe postinst "Il sistema non ha un lavorare a scatto, saltare" e uscire ZERO — così apt è riuscito, la costruzione è riuscita, e l'immagine ogni clone inquilino da non aveva alcun browser su di esso. Mozilla apt repository viene aggiunto invece, con l'impronta digitale della chiave di firma verificata piuttosto di fiducia perché è arrivato su HTTPS. 4. `virt-customize --run` esegue uno script con /bin/sh qualsiasi cosa il suo shebang dice. Su Ubuntu che è dash, e tutti e quattro gli script ospiti si aprono con `set -euo pipefail`, quindi ogni morto su "opzione illegale -o pipefail". Sono copiati in ed eseguire con un bash esplicito ora, corrispondente a quello che l'agente installatore ha già fatto. 5. `--copia-in src:dest ` ha bisogno di dest per essere un DIRECTORY esistente e le copie src in esso. `agent:/opt/kamo-hc-agent-src` stava nominando il risultato piuttosto che una destinazione e fallito con "target non è una directory" — solo raggiungibile una volta che la costruzione è arrivata lontano abbastanza per installare l'agente affatto. E uno che si nascondeva piuttosto che fallire: install-agent. sh termina riavviando unità e in attesa di /healthz, nessuno dei quali può lavorare in un'immagine costruire perché virt-customize modifica un filesystem e non lo avvia mai. La costruzione dunque la chiamava con `|| true`, che ha anche ingoiato qualsiasi vero fallimento nei passaggi di installazione — un'immagine potrebbe spedire senza agente e dire niente, e un computer senza agente non dorme mai, mai prende il marchio della sua organizzazione e non sincronizza mai una password. Ora prova /run/systemd/systemd e fa un'opzione offline onesta, in modo che il chiamante possa fallire ad alta voce. L'involucro stesso ne aveva anche uno: seguiva i log `kubectl -f` il momento del Lavoro l'oggetto esisteva, che ritorna immediatamente contro un baccello ancora tirando la sua immagine, allora legga .status.succeed su un lavoro di dieci secondi vecchio e ha segnalato il fallimento. Questo è peggio tipo di sbagliato di una costruzione rotta, perché ti dice di eliminare un reclamo che è essere scritto correttamente. Costruito e verificato: nobile-20260911, 1.7 GB, sha256 E' il momento giusto

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing