From 7a1a6304fb42a90548eded034199ba258e983153 Mon Sep 17 00:00:00 2001 From: Sheogorath <sheogorath@shivering-isles.com> Date: Fri, 14 Jan 2022 02:01:30 +0100 Subject: [PATCH] feat(system-upgrades): Add feature to run system-upgrades --- infrastructure/kustomization.yaml | 1 + .../system-upgrades/calver-server.yaml | 41 +++++++++++++++++++ infrastructure/system-upgrades/fedora.yaml | 38 +++++++++++++++++ .../system-upgrades/kustomization.yaml | 7 ++++ 4 files changed, 87 insertions(+) create mode 100644 infrastructure/system-upgrades/calver-server.yaml create mode 100644 infrastructure/system-upgrades/fedora.yaml create mode 100644 infrastructure/system-upgrades/kustomization.yaml diff --git a/infrastructure/kustomization.yaml b/infrastructure/kustomization.yaml index ccd7ac76c..9cd9c1444 100644 --- a/infrastructure/kustomization.yaml +++ b/infrastructure/kustomization.yaml @@ -9,3 +9,4 @@ resources: - prometheus - ingress-nginx - node-features + - system-upgrades diff --git a/infrastructure/system-upgrades/calver-server.yaml b/infrastructure/system-upgrades/calver-server.yaml new file mode 100644 index 000000000..6fcc0c16e --- /dev/null +++ b/infrastructure/system-upgrades/calver-server.yaml @@ -0,0 +1,41 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: calver + labels: + app: calver +spec: + replicas: 1 + selector: + matchLabels: + app: calver + template: + metadata: + labels: + app: calver + spec: + containers: + - name: calver-server + image: quay.io/shivering-isles/calver-server:v1 + ports: + - containerPort: 8080 + resources: + requests: + cpu: 10m + memory: 64MiB + limits: + cpu: 500m + memory: 128MiB +--- +apiVersion: v1 +kind: Service +metadata: + name: calver +spec: + selector: + app: calver + ports: + - name: http + protocol: TCP + port: 80 + targetPort: 8080 diff --git a/infrastructure/system-upgrades/fedora.yaml b/infrastructure/system-upgrades/fedora.yaml new file mode 100644 index 000000000..08b09d5ba --- /dev/null +++ b/infrastructure/system-upgrades/fedora.yaml @@ -0,0 +1,38 @@ +--- +apiVersion: v1 +kind: Secret +metadata: + name: fedora-dnf-upgrade + namespace: system-upgrade +type: Opaque +stringData: + upgrade.sh: | + #!/bin/sh + set -e + set -x + dnf upgrade -y --best +--- +apiVersion: upgrade.cattle.io/v1 +kind: Plan +metadata: + name: fedora-35-latest + namespace: system-upgrade +spec: + concurrency: 1 + nodeSelector: + matchExpressions: + - {key: feature.node.kubernetes.io/system-os_release.ID, operator: In, values: ["fedora"]} + - {key: feature.node.kubernetes.io/system-os_release.VERSION_ID.major, operator: In, values: ["35"]} + serviceAccountName: system-upgrade + secrets: + - name: fedora-dnf-upgrade + path: /host/run/system-upgrade/secrets/fedora + drain: + deleteLocalData: true + ignoreDaemonSets: true + force: false + channel: http://calver/weekly + upgrade: + image: docker.io/library/fedora:35 + command: ["chroot", "/host"] + args: ["sh", "/run/system-upgrade/secrets/fedora/upgrade.sh"] diff --git a/infrastructure/system-upgrades/kustomization.yaml b/infrastructure/system-upgrades/kustomization.yaml new file mode 100644 index 000000000..aa21fe819 --- /dev/null +++ b/infrastructure/system-upgrades/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: system-upgrade +resources: + - https://git.shivering-isles.com/github-mirror/rancher/system-upgrade-controller/-/raw/v0.8.1/manifests/system-upgrade-controller.yaml + - fedora.yaml + - calver-server.yaml -- GitLab