From 7d93a343dcdfd762288e6dd5328bca742340152e Mon Sep 17 00:00:00 2001 From: birendrasingh7698 Date: Thu, 6 Aug 2026 14:21:58 +0530 Subject: [PATCH] fix: copy /system/providers/ from stylus image to support stylus v4.10.x kubeadm provider stylus v4.10.x introduced agent-provider-kubeadm which it expects to find in /system/providers/ at cluster creation time. Without this the runtime upgrade rsync tries to write agent-provider-kubeadm to /system/providers/ which is a read-only partition at runtime, causing cluster creation to hang indefinitely at the 'Upgrading provider image' stage on kubeadm nodes. The --if-exists flag is backward-compatible: on stylus v4.9.x where /system/providers/ in the stylus image only contains agent-provider-stylus (already placed by the kairos-provider-image copy), this is a no-op. --- Earthfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Earthfile b/Earthfile index d8618413..b6db9108 100644 --- a/Earthfile +++ b/Earthfile @@ -643,6 +643,11 @@ provider-image: COPY +stylus-image/oem/stylus_config.yaml /etc/kairos/branding/stylus_config.yaml COPY +stylus-image/etc/elemental/config.yaml /etc/elemental/config.yaml COPY --if-exists "$EDGE_CUSTOM_CONFIG" /oem/.edge_custom_config.yaml + # stylus v4.10.x ships agent-provider-kubeadm alongside agent-provider-stylus in + # /system/providers/. Without this copy the runtime upgrade rsync tries to write + # agent-provider-kubeadm to /system/providers/ which is read-only at runtime, + # causing cluster creation to hang at "Upgrading provider image" on kubeadm nodes. + COPY --if-exists +stylus-image/system/providers/ /system/providers/ IF [ "$IS_UKI" = "true" ] COPY +internal-slink/slink /usr/bin/slink