From 42e7df4d701fba2aa556c501e1ad09df614f631d Mon Sep 17 00:00:00 2001
From: ArthurSens <arthursens2005@gmail.com>
Date: Fri, 12 Nov 2021 00:58:54 +0000
Subject: [PATCH] jsonnet/addons/strip-limits: Simplify logic

Since `release-0.8` resources has become a first-class object to all components of kube-prometheus. Therefore, we're simplifying this addon to reflect those changes.

Signed-off-by: ArthurSens <arthursens2005@gmail.com>
---
 .../addons/strip-limits.libsonnet             | 81 ++++++++++---------
 1 file changed, 45 insertions(+), 36 deletions(-)

diff --git a/jsonnet/kube-prometheus/addons/strip-limits.libsonnet b/jsonnet/kube-prometheus/addons/strip-limits.libsonnet
index 6faec944..e740614f 100644
--- a/jsonnet/kube-prometheus/addons/strip-limits.libsonnet
+++ b/jsonnet/kube-prometheus/addons/strip-limits.libsonnet
@@ -2,46 +2,55 @@
 // https://github.com/prometheus-operator/kube-prometheus/issues/72
 
 {
-  local noLimit(c) =
-    //if std.objectHas(c, 'resources') && c.name != 'kube-state-metrics'
-    if c.name != 'kube-state-metrics'
-    then c { resources+: { limits: {} } }
-    else c,
-
-  nodeExporter+: {
-    daemonset+: {
-      spec+: {
-        template+: {
-          spec+: {
-            containers: std.map(noLimit, super.containers),
-          },
-        },
+  //TODO(arthursens): Expand example once kube-rbac-proxy can be managed with a first-class
+  // object inside node-exporter, kube-state-metrics and prometheus-operator.
+  // See also: https://github.com/prometheus-operator/kube-prometheus/issues/1500#issuecomment-966727623
+  values+:: {
+    alertmanager+: {
+      resources+: {
+        limits: {},
       },
     },
-  },
-  kubeStateMetrics+: {
-    deployment+: {
-      spec+: {
-        template+: {
-          spec+: {
-            containers: std.map(noLimit, super.containers),
-          },
-        },
+
+    blackboxExporter+: {
+      resources+: {
+        limits: {},
       },
     },
-  },
-  prometheusOperator+: {
-    deployment+: {
-      spec+: {
-        template+: {
-          spec+: {
-            local addArgs(c) =
-              if c.name == 'prometheus-operator'
-              then c { args+: ['--config-reloader-cpu-limit=0', '--config-reloader-memory-limit=0'] }
-              else c,
-            containers: std.map(addArgs, super.containers),
-          },
-        },
+
+    grafana+: {
+      resources+: {
+        limits: {},
+      },
+    },
+
+    kubeStateMetrics+: {
+      resources+: {
+        limits: {},
+      },
+    },
+
+    nodeExporter+: {
+      resources+: {
+        limits: {},
+      },
+    },
+
+    prometheusAdapter+: {
+      resources+: {
+        limits: {},
+      },
+    },
+
+    prometheusOperator+: {
+      resources+: {
+        limits: {},
+      },
+    },
+
+    prometheus+: {
+      resources+: {
+        limits: {},
       },
     },
   },
-- 
GitLab