From e0e17bf7b7fc0695cd9b2986365d49e2feb2c3f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?c=C4=83t=C4=83lin?= Date: Fri, 14 Aug 2026 10:16:13 +0200 Subject: [PATCH] feat: add system-upgrade-controller --- k8s/argo-apps/system-upgrade-controller.yaml | 21 +++++++++ .../k3s-upgrade.yaml | 47 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 k8s/argo-apps/system-upgrade-controller.yaml create mode 100644 k8s/services/system-upgrade-controller/k3s-upgrade.yaml diff --git a/k8s/argo-apps/system-upgrade-controller.yaml b/k8s/argo-apps/system-upgrade-controller.yaml new file mode 100644 index 0000000..f27e1cd --- /dev/null +++ b/k8s/argo-apps/system-upgrade-controller.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: system-upgrade-controller + namespace: argo-cd +spec: + destination: + name: '' + namespace: system-upgrade + server: https://kubernetes.default.svc + sources: + - repoURL: https://github.com/rancher/system-upgrade-controller.git + path: manifests + targetRevision: v0.20.1 + - repoURL: https://git.roboces.dev/catalin/fukuops.git + path: k8s/services/system-upgrade-controller + targetRevision: feat/system-upgrade-controller + project: management + syncPolicy: + automated: {} diff --git a/k8s/services/system-upgrade-controller/k3s-upgrade.yaml b/k8s/services/system-upgrade-controller/k3s-upgrade.yaml new file mode 100644 index 0000000..3c2c559 --- /dev/null +++ b/k8s/services/system-upgrade-controller/k3s-upgrade.yaml @@ -0,0 +1,47 @@ +--- +apiVersion: upgrade.cattle.io/v1 +kind: Plan +metadata: + name: k3s-server + namespace: system-upgrade + labels: + k3s-upgrade: server +spec: + concurrency: 1 + version: v1.36.3+k3s1 + nodeSelector: + matchExpressions: + - {key: k3s-upgrade, operator: Exists} + - {key: k3s-upgrade, operator: NotIn, values: ["disabled", "false"]} + - {key: k3os.io/mode, operator: DoesNotExist} + - {key: node-role.kubernetes.io/control-plane, operator: Exists} + serviceAccountName: system-upgrade + cordon: true + upgrade: + image: rancher/k3s-upgrade +--- +apiVersion: upgrade.cattle.io/v1 +kind: Plan +metadata: + name: k3s-agent + namespace: system-upgrade + labels: + k3s-upgrade: agent +spec: + concurrency: 2 + version: v1.36.3+k3s1 + nodeSelector: + matchExpressions: + - {key: k3s-upgrade, operator: Exists} + - {key: k3s-upgrade, operator: NotIn, values: ["disabled", "false"]} + - {key: k3os.io/mode, operator: DoesNotExist} + - {key: node-role.kubernetes.io/control-plane, operator: DoesNotExist} + serviceAccountName: system-upgrade + prepare: + image: rancher/k3s-upgrade + args: ["prepare", "k3s-server"] + drain: + force: true + skipWaitForDeleteTimeout: 60 + upgrade: + image: rancher/k3s-upgrade