diff --git a/infrastructure/base/system-upgrades/fedora/fedora-autoupdate.yaml b/infrastructure/base/system-upgrades/fedora/fedora-autoupdate.yaml
index 8079a6fcdc0441e4cf849d8023421b3c1bc2105a..a123fa8dd75813ea79440b2e2a843a66d7fbe116 100644
--- a/infrastructure/base/system-upgrades/fedora/fedora-autoupdate.yaml
+++ b/infrastructure/base/system-upgrades/fedora/fedora-autoupdate.yaml
@@ -15,7 +15,7 @@ stringData:
     systemctl start --wait dnf-automatic-install.service
     systemctl enable clevis-luks-askpass.path
     if ! dnf needs-restarting --reboothint; then
-      touch /run/reboot-required
+      touch /var/run/reboot-required
     fi
 ---
 apiVersion: upgrade.cattle.io/v1
diff --git a/infrastructure/base/system-upgrades/kured.yaml b/infrastructure/base/system-upgrades/kured.yaml
index 23429f1391fb8b872e8e8cb90f31b8b4b10932c0..4cf8963e92604f30d975fcba39175e43de2856fc 100644
--- a/infrastructure/base/system-upgrades/kured.yaml
+++ b/infrastructure/base/system-upgrades/kured.yaml
@@ -39,15 +39,20 @@ metadata:
   namespace: system-upgrade
 data:
   values.yaml: |
+    affinity:
+     nodeAffinity:
+      requiredDuringSchedulingIgnoredDuringExecution:
+        nodeSelectorTerms:
+          - matchExpressions:
+            - key: feature.node.kubernetes.io/system-os_release.ID
+              operator: NotIn
+              values:
+              - talos
     configuration:
-      useRebootSentinelHostPath: true
       annotateNodes: true
       preferNoScheduleTaint: weave.works/kured-node-reboot
       blockingPodSelector:
         - upgrade.cattle.io/plan
-      rebootSentinel: "/run/reboot-required"
-      rebootMethod: command
-      rebootCommand: /sbin/shutdown --reboot
     hostNetwork: false
     metrics:
       create: true
diff --git a/infrastructure/base/system-upgrades/talos/os.yaml b/infrastructure/base/system-upgrades/talos/os.yaml
index 333a215ee7ce3318812d07124af0c040ceac949b..2aa873c77e942b1adf8493bd993fd12a1e8e78fe 100644
--- a/infrastructure/base/system-upgrades/talos/os.yaml
+++ b/infrastructure/base/system-upgrades/talos/os.yaml
@@ -12,6 +12,11 @@ spec:
       path: /var/run/secrets/talos.dev
       ignoreUpdates: true
   concurrency: 1
+  exclusive: true
+  drain:
+    deleteLocalData: true
+    ignoreDaemonSets: true
+    force: false
   nodeSelector:
     matchExpressions:
       - key: feature.node.kubernetes.io/system-os_release.ID
@@ -20,7 +25,7 @@ spec:
         - talos
       - key: upgrade.shivering-isles.com/talos-autoupdate
         operator: Exists
-  prepare:
+  upgrade:
     image: ghcr.io/siderolabs/talosctl
     envs:
       - name: NODE_IP
@@ -33,7 +38,6 @@ spec:
       - --nodes=$(NODE_IP)
       - upgrade
       - --image=$(TALOS_IMAGE):$(SYSTEM_UPGRADE_PLAN_LATEST_VERSION)
-      - --stage
-  upgrade:
-    image: quay.io/fedora/fedora:41
-    command: ["touch", "/host/run/reboot-required"]
\ No newline at end of file
+      - --preserve=true
+      - --wait=false
+      - --reboot-mode=powercycle