From 6caa744c575a2179422235096980ae87544ba553 Mon Sep 17 00:00:00 2001
From: Sheogorath <sheogorath@shivering-isles.com>
Date: Thu, 1 Sep 2022 11:03:22 +0200
Subject: [PATCH] feat(system-upgrades): Add kured to setup

This patch deploys kured across the nodes, which will manage reboots
better than the system-upgrade-operator.

References:
https://github.com/weaveworks/kured
---
 infrastructure/system-upgrades/kured.yaml     | 55 +++++++++++++++++++
 .../system-upgrades/kustomization.yaml        |  1 +
 2 files changed, 56 insertions(+)
 create mode 100644 infrastructure/system-upgrades/kured.yaml

diff --git a/infrastructure/system-upgrades/kured.yaml b/infrastructure/system-upgrades/kured.yaml
new file mode 100644
index 000000000..f2786440b
--- /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 0e54a079c..b90f5b2d8 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
-- 
GitLab