Encore construit des applications backend et, depuis mi‑2022, exécute chaque build dans une micro VM Firecracker. Firecracker pilote KVM, nécessitant un hôte Linux avec `/dev/kvm`, ce que les Macs ne possèdent pas. Les ingénieurs d'Encore développent sur Mac, donc ils utilisent depuis quatre ans une machine distante partagée.\n\nLe setup distant fonctionnait mais avait des coûts : les points d'arrêt locaux ne se déclenchaient jamais, les logs nécessitaient SSH, les profils devaient être copiés, et chaque changement côté guest passait par `docker save`, `rsync` et `mksquashfs` sur l'hôte partagé. La boucle était trop longue pour encourager les changements spéculatifs.\n\nIls ont évalué les solutions existantes (le conteneur Apple, Lima, Tart, podman via libkrun, KVM imbriqué sur M3+), mais aucune ne couvrait les deux hôtes.
Ils ont construit crackling, un daemon et CLI qui démarre des images OCI comme des VMs Linux légères sur les deux plateformes, avec un agent à l'intérieur du guest et un protocole le contrôlant dans les deux sens.\n\nFirecracker reste le backend sur Linux ; sur macOS c'est le Virtualization.framework d'Apple (VZ). La crate principale reste indépendante du hyperviseur, décrivant une machine via Machine Spec (vcpus, mem, kernel, rootfs, etc.) tandis que Machine State la suit à l'exécution.\n\nEntités clés : Entreprises : Encore | Personnes : Ivan Cernja.
Source: Hacker News · Résumé par HeadlinesBriefing