From 057105c8b9e4371f6f38c46afa445f59ea8bd21b Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Tue, 26 May 2026 23:40:05 +1000 Subject: [PATCH] feat(platform): add priority-classes app with low/power/medium/high classes --- apps/base/priority-classes/kustomization.yaml | 6 ++++ .../priority-classes/priorityclasses.yaml | 36 +++++++++++++++++++ .../priority-classes/kustomization.yaml | 6 ++++ argocd/applicationsets/platform.yaml | 1 + argocd/projects/platform.yaml | 2 ++ 5 files changed, 51 insertions(+) create mode 100644 apps/base/priority-classes/kustomization.yaml create mode 100644 apps/base/priority-classes/priorityclasses.yaml create mode 100644 apps/overlays/au-syd1/priority-classes/kustomization.yaml diff --git a/apps/base/priority-classes/kustomization.yaml b/apps/base/priority-classes/kustomization.yaml new file mode 100644 index 0000000..e831aca --- /dev/null +++ b/apps/base/priority-classes/kustomization.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - priorityclasses.yaml diff --git a/apps/base/priority-classes/priorityclasses.yaml b/apps/base/priority-classes/priorityclasses.yaml new file mode 100644 index 0000000..057883d --- /dev/null +++ b/apps/base/priority-classes/priorityclasses.yaml @@ -0,0 +1,36 @@ +--- +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: low +value: 100 +preemptionPolicy: Never +globalDefault: false +description: "Low-importance workloads. Can be evicted under pressure but will not preempt other pods." +--- +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: power +value: 100 +preemptionPolicy: Never +globalDefault: false +description: "Compute-heavy workloads with low scheduling importance. Evictable under pressure." +--- +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: medium +value: 10000 +preemptionPolicy: PreemptLowerPriority +globalDefault: false +description: "Standard workloads. Will preempt low-priority pods if the cluster is under pressure." +--- +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: high +value: 100000 +preemptionPolicy: PreemptLowerPriority +globalDefault: false +description: "High-importance services. Will preempt medium- and low-priority pods if necessary." diff --git a/apps/overlays/au-syd1/priority-classes/kustomization.yaml b/apps/overlays/au-syd1/priority-classes/kustomization.yaml new file mode 100644 index 0000000..0de8a0c --- /dev/null +++ b/apps/overlays/au-syd1/priority-classes/kustomization.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../../base/priority-classes diff --git a/argocd/applicationsets/platform.yaml b/argocd/applicationsets/platform.yaml index 9b538c9..7023960 100644 --- a/argocd/applicationsets/platform.yaml +++ b/argocd/applicationsets/platform.yaml @@ -22,6 +22,7 @@ spec: - path: apps/overlays/*/jfrog - path: apps/overlays/*/kanidm - path: apps/overlays/*/node-feature-discovery + - path: apps/overlays/*/priority-classes - path: apps/overlays/*/puppet - path: apps/overlays/*/purelb - path: apps/overlays/*/reflector-system diff --git a/argocd/projects/platform.yaml b/argocd/projects/platform.yaml index 67d125c..ceaa1d7 100644 --- a/argocd/projects/platform.yaml +++ b/argocd/projects/platform.yaml @@ -31,6 +31,8 @@ spec: server: https://kubernetes.default.svc - namespace: 'node-feature-discovery' server: https://kubernetes.default.svc + - namespace: 'priority-classes' + server: https://kubernetes.default.svc - namespace: 'purelb' server: https://kubernetes.default.svc - namespace: 'puppet' -- 2.47.3