diff --git a/infrastructure/system-upgrades/kured.yaml b/infrastructure/system-upgrades/kured.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f2786440bbde8081530851c4e1cf309e238db542
--- /dev/null
+++ b/infrastructure/system-upgrades/kured.yaml
@@ -0,0 +1,55 @@
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: HelmRepository
+metadata:
+  name: kured
+  namespace: system-upgrade
+spec:
+  interval: 30m
+  url: https://weaveworks.github.io/kured
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: kured
+  namespace: system-upgrade
+spec:
+  releaseName: kured
+  chart:
+    spec:
+      chart: kured
+      sourceRef:
+        kind: HelmRepository
+        name: kured
+        namespace: system-upgrade
+      version: 3.0.1
+  interval: 5m
+  valuesFrom:
+    - kind: ConfigMap
+      name: kured-base-values
+      valuesKey: values.yaml
+    - kind: Secret
+      name: kured-override-values
+      valuesKey: values-overrides.yaml
+      optional: true
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: kured-base-values
+  namespace: system-upgrade
+data:
+  values.yaml: |
+    configuration:
+      annotateNodes: true
+      preferNoScheduleTaint: weave.works/kured-node-reboot
+      blockingPodSelector:
+        - upgrade.cattle.io/plan
+    metrics:
+      enable: true
+    resources:
+      requests:
+        memory: 64MiB
+        cpu: 10m
+      limits:
+        memory: 256MiB
+        cpu: "1"
diff --git a/infrastructure/system-upgrades/kustomization.yaml b/infrastructure/system-upgrades/kustomization.yaml
index 0e54a079cffcac26db583481caf45bc0568c8061..b90f5b2d8df4df207cc7630d5895b77ec8de5fef 100644
--- a/infrastructure/system-upgrades/kustomization.yaml
+++ b/infrastructure/system-upgrades/kustomization.yaml
@@ -3,6 +3,7 @@ kind: Kustomization
 namespace: system-upgrade
 resources:
   - calver-server.yaml
+  - kured.yaml
   - fedora.yaml
   - kubernetes.yaml
   - kubelet.yaml