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