From c0dc9797c85b98137e1edc908715b84418233135 Mon Sep 17 00:00:00 2001
From: Benjamin Ssempala <86492979+BenjaminSsempala@users.noreply.github.com>
Date: Thu, 16 Jan 2025 00:19:06 +0300
Subject: [PATCH 1/4] Adjust resources and modify node selection for different
 Frontend applications

---
 k8s/calibrate/values-stage.yaml  | 22 +++++++---------------
 k8s/docs/values-stage.yaml       | 13 ++++++-------
 k8s/inventory/values-stage.yaml  | 24 ++++++++----------------
 k8s/netmanager/values-stage.yaml | 20 ++++++--------------
 k8s/platform/values-stage.yaml   | 27 ++++++++++-----------------
 k8s/reports/values-stage.yaml    | 24 ++++++++----------------
 6 files changed, 45 insertions(+), 85 deletions(-)

diff --git a/k8s/calibrate/values-stage.yaml b/k8s/calibrate/values-stage.yaml
index 9c23a1d0fb..db430a187d 100644
--- a/k8s/calibrate/values-stage.yaml
+++ b/k8s/calibrate/values-stage.yaml
@@ -19,10 +19,10 @@ service:
   nodePort: 31106
 resources:
   limits:
-    cpu: 50m
-    memory: 80Mi
+    cpu: 10m
+    memory: 100Mi
   requests:
-    cpu: 5m
+    cpu: 1m
     memory: 20Mi
 autoscaling:
   minReplicas: 1
@@ -33,20 +33,12 @@ tolerations: []
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      - weight: 10
-        preference:
-          matchExpressions:
-            - key: node-type
+      nodeSelectorTerms:
+        - matchExpressions:
+            - key: role
               operator: In
               values:
-                - general-purpose
-      - weight: 1
-        preference:
-          matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - high-memory
+                - control-plane
 app:
   name: airqo-stage-calibrate-app
   label: sta-calibrate-app
diff --git a/k8s/docs/values-stage.yaml b/k8s/docs/values-stage.yaml
index 92b0650dcb..ec03b37a5d 100644
--- a/k8s/docs/values-stage.yaml
+++ b/k8s/docs/values-stage.yaml
@@ -19,10 +19,10 @@ ingress:
   enabled: false
 resources:
   limits:
-    cpu: 50m
+    cpu: 10m
     memory: 100Mi
   requests:
-    cpu: 10m
+    cpu: 1m
     memory: 20Mi
 autoscaling:
   minReplicas: 1
@@ -33,13 +33,12 @@ tolerations: []
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      - weight: 10
-        preference:
-          matchExpressions:
-            - key: node-type
+      nodeSelectorTerms:
+        - matchExpressions:
+            - key: role
               operator: In
               values:
-                - general-purpose
+                - control-plane
 app:
   name: airqo-stage-docs
   label: sta-docs
diff --git a/k8s/inventory/values-stage.yaml b/k8s/inventory/values-stage.yaml
index f6d7790d20..5a39b61251 100644
--- a/k8s/inventory/values-stage.yaml
+++ b/k8s/inventory/values-stage.yaml
@@ -17,11 +17,11 @@ nodeSelector: {}
 torelations: {}
 resources:
   requests:
-    cpu: 5m
-    memory: 20Mi
+    cpu: 1m
+    memory: 100Mi
   limits:
-    cpu: 50m
-    memory: 80Mi
+    cpu: 10m
+    memory: 150Mi
 autoscaling:
   minReplicas: 1
   maxReplicas: 2
@@ -29,20 +29,12 @@ autoscaling:
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      - weight: 10
-        preference:
-          matchExpressions:
-            - key: node-type
+      nodeSelectorTerms:
+        - matchExpressions:
+            - key: role
               operator: In
               values:
-                - general-purpose
-      - weight: 1
-        preference:
-          matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - high-memory
+                - control-plane
 app:
   name: airqo-stage-inventory
   label: airqo-inventory
diff --git a/k8s/netmanager/values-stage.yaml b/k8s/netmanager/values-stage.yaml
index 8b3338d98b..c8a313b246 100644
--- a/k8s/netmanager/values-stage.yaml
+++ b/k8s/netmanager/values-stage.yaml
@@ -17,10 +17,10 @@ nodeSelector: {}
 torelations: {}
 resources:
   requests:
-    cpu: 5m
+    cpu: 1m
     memory: 20Mi
   limits:
-    cpu: 50m
+    cpu: 10m
     memory: 80Mi
 autoscaling:
   minReplicas: 1
@@ -29,20 +29,12 @@ autoscaling:
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      - weight: 10
-        preference:
-          matchExpressions:
-            - key: node-type
+      nodeSelectorTerms:
+        - matchExpressions:
+            - key: role
               operator: In
               values:
-                - general-purpose
-      - weight: 1
-        preference:
-          matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - high-memory
+                - control-plane
 app:
   name: airqo-stage-platform-frontend
   label: airqo-platform
diff --git a/k8s/platform/values-stage.yaml b/k8s/platform/values-stage.yaml
index 063f36823c..5bb5bbd892 100644
--- a/k8s/platform/values-stage.yaml
+++ b/k8s/platform/values-stage.yaml
@@ -20,10 +20,11 @@ ingress:
 resources:
   limits:
     cpu: 200m
-    memory: 700Mi
-  requests:
-    cpu: 100m
     memory: 250Mi
+  requests:
+    cpu: 10m
+    memory: 150Mi
+
 autoscaling:
   minReplicas: 1
   maxReplicas: 3
@@ -33,20 +34,12 @@ tolerations: []
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      - weight: 10
-        preference:
-          matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - general-purpose
-      - weight: 1
-        preference:
-          matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - high-memory
+        nodeSelectorTerms:
+          - matchExpressions:
+              - key: role
+                operator: In
+                values:
+                  - control-plane
 app:
   name: airqo-stage-next-platform
   label: sta-next-platform
diff --git a/k8s/reports/values-stage.yaml b/k8s/reports/values-stage.yaml
index 0e7eb4ba48..e937ee8d75 100644
--- a/k8s/reports/values-stage.yaml
+++ b/k8s/reports/values-stage.yaml
@@ -17,11 +17,11 @@ nodeSelector: {}
 torelations: {}
 resources:
   requests:
-    cpu: 5m
-    memory: 20Mi
+    cpu: 1m
+    memory: 150Mi
   limits:
-    cpu: 50m
-    memory: 80Mi
+    cpu: 5m
+    memory: 200Mi
 autoscaling:
   minReplicas: 1
   maxReplicas: 3
@@ -29,20 +29,12 @@ autoscaling:
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      - weight: 10
-        preference:
-          matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - general-purpose
-      - weight: 1
-        preference:
-          matchExpressions:
-            - key: node-type
+      nodeSelectorTerms:
+        - matchExpressions:
+            - key: role
               operator: In
               values:
-                - high-memory
+                - moderate-usage
 app:
   name: airqo-stage-reports
   label: airqo-reports

From b8207afcde571e15acff99b109522836e78cebdc Mon Sep 17 00:00:00 2001
From: Benjamin Ssempala <86492979+BenjaminSsempala@users.noreply.github.com>
Date: Fri, 17 Jan 2025 04:01:45 +0300
Subject: [PATCH 2/4] Modify resources for some apps

---
 k8s/inventory/values-stage.yaml  | 4 ++--
 k8s/netmanager/values-stage.yaml | 6 +++---
 k8s/platform/values-stage.yaml   | 4 ++--
 k8s/reports/values-stage.yaml    | 4 ++--
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/k8s/inventory/values-stage.yaml b/k8s/inventory/values-stage.yaml
index 5a39b61251..de674efc8f 100644
--- a/k8s/inventory/values-stage.yaml
+++ b/k8s/inventory/values-stage.yaml
@@ -17,10 +17,10 @@ nodeSelector: {}
 torelations: {}
 resources:
   requests:
-    cpu: 1m
+    cpu: 10m
     memory: 100Mi
   limits:
-    cpu: 10m
+    cpu: 50m
     memory: 150Mi
 autoscaling:
   minReplicas: 1
diff --git a/k8s/netmanager/values-stage.yaml b/k8s/netmanager/values-stage.yaml
index c8a313b246..fe2e5d9a21 100644
--- a/k8s/netmanager/values-stage.yaml
+++ b/k8s/netmanager/values-stage.yaml
@@ -17,11 +17,11 @@ nodeSelector: {}
 torelations: {}
 resources:
   requests:
-    cpu: 1m
+    cpu: 20m
     memory: 20Mi
   limits:
-    cpu: 10m
-    memory: 80Mi
+    cpu: 100m
+    memory: 200Mi
 autoscaling:
   minReplicas: 1
   maxReplicas: 3
diff --git a/k8s/platform/values-stage.yaml b/k8s/platform/values-stage.yaml
index 5bb5bbd892..3703293a47 100644
--- a/k8s/platform/values-stage.yaml
+++ b/k8s/platform/values-stage.yaml
@@ -20,9 +20,9 @@ ingress:
 resources:
   limits:
     cpu: 200m
-    memory: 250Mi
+    memory: 350Mi
   requests:
-    cpu: 10m
+    cpu: 20m
     memory: 150Mi
 
 autoscaling:
diff --git a/k8s/reports/values-stage.yaml b/k8s/reports/values-stage.yaml
index e937ee8d75..03acd59226 100644
--- a/k8s/reports/values-stage.yaml
+++ b/k8s/reports/values-stage.yaml
@@ -17,10 +17,10 @@ nodeSelector: {}
 torelations: {}
 resources:
   requests:
-    cpu: 1m
+    cpu: 10m
     memory: 150Mi
   limits:
-    cpu: 5m
+    cpu: 50m
     memory: 200Mi
 autoscaling:
   minReplicas: 1

From 46c84782dedc73175f0e72656a818a8955f4110b Mon Sep 17 00:00:00 2001
From: Benjamin Ssempala <86492979+BenjaminSsempala@users.noreply.github.com>
Date: Mon, 20 Jan 2025 21:36:43 +0300
Subject: [PATCH 3/4] Resource optimisation

---
 k8s/calibrate/values-stage.yaml  | 24 +++++++++---------------
 k8s/docs/values-stage.yaml       | 15 ++++++++-------
 k8s/inventory/values-stage.yaml  | 26 ++++++++++----------------
 k8s/netmanager/values-stage.yaml | 22 ++++++++--------------
 k8s/platform/values-stage.yaml   | 27 +++++++++++----------------
 k8s/reports/values-stage.yaml    | 28 +++++++++++-----------------
 6 files changed, 57 insertions(+), 85 deletions(-)

diff --git a/k8s/calibrate/values-stage.yaml b/k8s/calibrate/values-stage.yaml
index 9c23a1d0fb..9bd7ea1242 100644
--- a/k8s/calibrate/values-stage.yaml
+++ b/k8s/calibrate/values-stage.yaml
@@ -20,7 +20,7 @@ service:
 resources:
   limits:
     cpu: 50m
-    memory: 80Mi
+    memory: 100Mi
   requests:
     cpu: 5m
     memory: 20Mi
@@ -28,25 +28,19 @@ autoscaling:
   minReplicas: 1
   maxReplicas: 2
   targetMemoryUtilizationPercentage: 80
-nodeSelector: {}
+nodeSelector: 
+  role: control-plane
 tolerations: []
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      - weight: 10
-        preference:
+      - preference:
           matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - general-purpose
-      - weight: 1
-        preference:
-          matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - high-memory
+          - key: role
+            operator: In
+            values:
+            - control-plane
+        weight: 1
 app:
   name: airqo-stage-calibrate-app
   label: sta-calibrate-app
diff --git a/k8s/docs/values-stage.yaml b/k8s/docs/values-stage.yaml
index 92b0650dcb..9b381a5181 100644
--- a/k8s/docs/values-stage.yaml
+++ b/k8s/docs/values-stage.yaml
@@ -28,18 +28,19 @@ autoscaling:
   minReplicas: 1
   maxReplicas: 2
   targetCPUUtilizationPercentage: 80
-nodeSelector: {}
+nodeSelector: 
+  role: control-plane
 tolerations: []
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      - weight: 10
-        preference:
+      - preference:
           matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - general-purpose
+          - key: role
+            operator: In
+            values:
+            - control-plane
+        weight: 1
 app:
   name: airqo-stage-docs
   label: sta-docs
diff --git a/k8s/inventory/values-stage.yaml b/k8s/inventory/values-stage.yaml
index f6d7790d20..6685fa62d8 100644
--- a/k8s/inventory/values-stage.yaml
+++ b/k8s/inventory/values-stage.yaml
@@ -13,15 +13,16 @@ service:
   port: 8000
 ingress:
   enabled: false
-nodeSelector: {}
+nodeSelector: 
+  role: control-plane
 torelations: {}
 resources:
   requests:
-    cpu: 5m
+    cpu: 10m
     memory: 20Mi
   limits:
     cpu: 50m
-    memory: 80Mi
+    memory: 150Mi
 autoscaling:
   minReplicas: 1
   maxReplicas: 2
@@ -29,20 +30,13 @@ autoscaling:
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      - weight: 10
-        preference:
+      - preference:
           matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - general-purpose
-      - weight: 1
-        preference:
-          matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - high-memory
+          - key: role
+            operator: In
+            values:
+            - control-plane
+        weight: 1
 app:
   name: airqo-stage-inventory
   label: airqo-inventory
diff --git a/k8s/netmanager/values-stage.yaml b/k8s/netmanager/values-stage.yaml
index 8b3338d98b..1cdef83716 100644
--- a/k8s/netmanager/values-stage.yaml
+++ b/k8s/netmanager/values-stage.yaml
@@ -13,7 +13,8 @@ service:
   port: 80
 ingress:
   enabled: false
-nodeSelector: {}
+nodeSelector: 
+  role: control-plane
 torelations: {}
 resources:
   requests:
@@ -29,20 +30,13 @@ autoscaling:
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      - weight: 10
-        preference:
+      - preference:
           matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - general-purpose
-      - weight: 1
-        preference:
-          matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - high-memory
+          - key: role
+            operator: In
+            values:
+            - control-plane
+        weight: 1
 app:
   name: airqo-stage-platform-frontend
   label: airqo-platform
diff --git a/k8s/platform/values-stage.yaml b/k8s/platform/values-stage.yaml
index 7488764af2..a6fb6c14fe 100644
--- a/k8s/platform/values-stage.yaml
+++ b/k8s/platform/values-stage.yaml
@@ -20,33 +20,28 @@ ingress:
 resources:
   limits:
     cpu: 200m
-    memory: 700Mi
-  requests:
-    cpu: 100m
     memory: 250Mi
+  requests:
+    cpu: 20m
+    memory: 150Mi
+
 autoscaling:
   minReplicas: 1
   maxReplicas: 3
   targetCPUUtilizationPercentage: 80
-nodeSelector: {}
+nodeSelector: 
+  role: control-plane
 tolerations: []
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      - weight: 10
-        preference:
-          matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - general-purpose
-      - weight: 1
-        preference:
-          matchExpressions:
-            - key: node-type
+        - preference:
+            matchExpressions:
+            - key: role
               operator: In
               values:
-                - high-memory
+              - control-plane
+          weight: 1
 app:
   name: airqo-stage-next-platform
   label: sta-next-platform
diff --git a/k8s/reports/values-stage.yaml b/k8s/reports/values-stage.yaml
index 0e7eb4ba48..cde62883a0 100644
--- a/k8s/reports/values-stage.yaml
+++ b/k8s/reports/values-stage.yaml
@@ -13,36 +13,30 @@ service:
   port: 3000
 ingress:
   enabled: false
-nodeSelector: {}
 torelations: {}
 resources:
   requests:
-    cpu: 5m
-    memory: 20Mi
+    cpu: 10m
+    memory: 150Mi
   limits:
     cpu: 50m
-    memory: 80Mi
+    memory: 200Mi
 autoscaling:
   minReplicas: 1
   maxReplicas: 3
   targetMemoryUtilizationPercentage: 80
+nodeSelector: 
+  role: control-plane
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      - weight: 10
-        preference:
+      - preference:
           matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - general-purpose
-      - weight: 1
-        preference:
-          matchExpressions:
-            - key: node-type
-              operator: In
-              values:
-                - high-memory
+          - key: role
+            operator: In
+            values:
+            - control-plane
+        weight: 1
 app:
   name: airqo-stage-reports
   label: airqo-reports

From 908cce5057251fea535f714b19381a3d891ba615 Mon Sep 17 00:00:00 2001
From: Benjamin Ssempala <86492979+BenjaminSsempala@users.noreply.github.com>
Date: Wed, 22 Jan 2025 05:46:46 +0300
Subject: [PATCH 4/4] Merge changes

---
 k8s/calibrate/values-stage.yaml  | 20 +++++++++++---------
 k8s/docs/values-stage.yaml       | 18 ++++++++++--------
 k8s/inventory/values-stage.yaml  | 18 ++++++++++--------
 k8s/netmanager/values-stage.yaml | 22 ++++++++++++----------
 k8s/platform/values-stage.yaml   | 16 +++++++++-------
 k8s/reports/values-stage.yaml    | 16 +++++++++-------
 6 files changed, 61 insertions(+), 49 deletions(-)

diff --git a/k8s/calibrate/values-stage.yaml b/k8s/calibrate/values-stage.yaml
index db430a187d..9bd7ea1242 100644
--- a/k8s/calibrate/values-stage.yaml
+++ b/k8s/calibrate/values-stage.yaml
@@ -19,26 +19,28 @@ service:
   nodePort: 31106
 resources:
   limits:
-    cpu: 10m
+    cpu: 50m
     memory: 100Mi
   requests:
-    cpu: 1m
+    cpu: 5m
     memory: 20Mi
 autoscaling:
   minReplicas: 1
   maxReplicas: 2
   targetMemoryUtilizationPercentage: 80
-nodeSelector: {}
+nodeSelector: 
+  role: control-plane
 tolerations: []
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      nodeSelectorTerms:
-        - matchExpressions:
-            - key: role
-              operator: In
-              values:
-                - control-plane
+      - preference:
+          matchExpressions:
+          - key: role
+            operator: In
+            values:
+            - control-plane
+        weight: 1
 app:
   name: airqo-stage-calibrate-app
   label: sta-calibrate-app
diff --git a/k8s/docs/values-stage.yaml b/k8s/docs/values-stage.yaml
index ec03b37a5d..d0a7c4553c 100644
--- a/k8s/docs/values-stage.yaml
+++ b/k8s/docs/values-stage.yaml
@@ -19,7 +19,7 @@ ingress:
   enabled: false
 resources:
   limits:
-    cpu: 10m
+    cpu: 50m
     memory: 100Mi
   requests:
     cpu: 1m
@@ -28,17 +28,19 @@ autoscaling:
   minReplicas: 1
   maxReplicas: 2
   targetCPUUtilizationPercentage: 80
-nodeSelector: {}
+nodeSelector: 
+  role: control-plane
 tolerations: []
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      nodeSelectorTerms:
-        - matchExpressions:
-            - key: role
-              operator: In
-              values:
-                - control-plane
+      - preference:
+          matchExpressions:
+          - key: role
+            operator: In
+            values:
+            - control-plane
+        weight: 1
 app:
   name: airqo-stage-docs
   label: sta-docs
diff --git a/k8s/inventory/values-stage.yaml b/k8s/inventory/values-stage.yaml
index de674efc8f..6685fa62d8 100644
--- a/k8s/inventory/values-stage.yaml
+++ b/k8s/inventory/values-stage.yaml
@@ -13,12 +13,13 @@ service:
   port: 8000
 ingress:
   enabled: false
-nodeSelector: {}
+nodeSelector: 
+  role: control-plane
 torelations: {}
 resources:
   requests:
     cpu: 10m
-    memory: 100Mi
+    memory: 20Mi
   limits:
     cpu: 50m
     memory: 150Mi
@@ -29,12 +30,13 @@ autoscaling:
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      nodeSelectorTerms:
-        - matchExpressions:
-            - key: role
-              operator: In
-              values:
-                - control-plane
+      - preference:
+          matchExpressions:
+          - key: role
+            operator: In
+            values:
+            - control-plane
+        weight: 1
 app:
   name: airqo-stage-inventory
   label: airqo-inventory
diff --git a/k8s/netmanager/values-stage.yaml b/k8s/netmanager/values-stage.yaml
index fe2e5d9a21..1cdef83716 100644
--- a/k8s/netmanager/values-stage.yaml
+++ b/k8s/netmanager/values-stage.yaml
@@ -13,15 +13,16 @@ service:
   port: 80
 ingress:
   enabled: false
-nodeSelector: {}
+nodeSelector: 
+  role: control-plane
 torelations: {}
 resources:
   requests:
-    cpu: 20m
+    cpu: 5m
     memory: 20Mi
   limits:
-    cpu: 100m
-    memory: 200Mi
+    cpu: 50m
+    memory: 80Mi
 autoscaling:
   minReplicas: 1
   maxReplicas: 3
@@ -29,12 +30,13 @@ autoscaling:
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      nodeSelectorTerms:
-        - matchExpressions:
-            - key: role
-              operator: In
-              values:
-                - control-plane
+      - preference:
+          matchExpressions:
+          - key: role
+            operator: In
+            values:
+            - control-plane
+        weight: 1
 app:
   name: airqo-stage-platform-frontend
   label: airqo-platform
diff --git a/k8s/platform/values-stage.yaml b/k8s/platform/values-stage.yaml
index a5dc2095b8..aef3905adb 100644
--- a/k8s/platform/values-stage.yaml
+++ b/k8s/platform/values-stage.yaml
@@ -29,17 +29,19 @@ autoscaling:
   minReplicas: 1
   maxReplicas: 3
   targetCPUUtilizationPercentage: 80
-nodeSelector: {}
+nodeSelector: 
+  role: control-plane
 tolerations: []
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-        nodeSelectorTerms:
-          - matchExpressions:
-              - key: role
-                operator: In
-                values:
-                  - control-plane
+        - preference:
+            matchExpressions:
+            - key: role
+              operator: In
+              values:
+              - control-plane
+          weight: 1
 app:
   name: airqo-stage-next-platform
   label: sta-next-platform
diff --git a/k8s/reports/values-stage.yaml b/k8s/reports/values-stage.yaml
index 03acd59226..cde62883a0 100644
--- a/k8s/reports/values-stage.yaml
+++ b/k8s/reports/values-stage.yaml
@@ -13,7 +13,6 @@ service:
   port: 3000
 ingress:
   enabled: false
-nodeSelector: {}
 torelations: {}
 resources:
   requests:
@@ -26,15 +25,18 @@ autoscaling:
   minReplicas: 1
   maxReplicas: 3
   targetMemoryUtilizationPercentage: 80
+nodeSelector: 
+  role: control-plane
 affinity:
   nodeAffinity:
     preferredDuringSchedulingIgnoredDuringExecution:
-      nodeSelectorTerms:
-        - matchExpressions:
-            - key: role
-              operator: In
-              values:
-                - moderate-usage
+      - preference:
+          matchExpressions:
+          - key: role
+            operator: In
+            values:
+            - control-plane
+        weight: 1
 app:
   name: airqo-stage-reports
   label: airqo-reports