From 0ebaeb84ad071571c85977dda3a85b16a03f7a3d Mon Sep 17 00:00:00 2001 From: Jeff McCune Date: Wed, 24 Jul 2024 16:36:46 -0700 Subject: [PATCH] fix: syntax errors in kube-state-metrics.libsonnet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously customizing kube-prometheus [1] failed with the following error. ❯ ./build.sh example.jsonnet + set -o pipefail + rm -rf manifests + mkdir -p manifests/setup + jsonnet -J vendor -m manifests example.jsonnet + xargs '-I{}' sh -c 'cat {} | gojsontoyaml > {}.yaml' -- '{}' RUNTIME ERROR: vendor/github.com/kubernetes/kube-state-metrics/jsonnet/kube-state-metrics/kube-state-metrics.libsonnet:392:21-22 Expected token OPERATOR but got "{" vendor/kube-prometheus/components/kube-state-metrics.libsonnet:51:19-124 function vendor/kube-prometheus/main.libsonnet:136:21-64 object vendor/kube-prometheus/platforms/platforms.libsonnet:37:22-40 +: example.jsonnet:33:90-109 thunk from <$> :1539:24-25 thunk from > :1539:5-33 function example.jsonnet:33:73-110 $ example.jsonnet:33:1-112 example.jsonnet:33:1-112 During evaluation With this patch, the build succeeds: ❯ bash build.sh example.jsonnet ; echo $? + set -o pipefail + rm -rf manifests + mkdir -p manifests/setup + jsonnet -J vendor -m manifests example.jsonnet + xargs '-I{}' sh -c 'cat {} | gojsontoyaml > {}.yaml' -- '{}' + find manifests -type f '!' -name '*.yaml' -delete + rm -f kustomization 0 [1]: https://github.com/prometheus-operator/kube-prometheus/blob/main/docs/customizing.md --- .../kube-state-metrics/kube-state-metrics.libsonnet | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/jsonnet/kube-state-metrics/kube-state-metrics.libsonnet b/jsonnet/kube-state-metrics/kube-state-metrics.libsonnet index 13bef45541..f37c36908a 100644 --- a/jsonnet/kube-state-metrics/kube-state-metrics.libsonnet +++ b/jsonnet/kube-state-metrics/kube-state-metrics.libsonnet @@ -389,15 +389,15 @@ labels: {'app.kubernetes.io/name': shardksmname} }, spec: { - selector{ - matchLabels: {app.kubernetes.io/name': shardksmname} - } + selector: { + matchLabels: {'app.kubernetes.io/name': shardksmname} + }, template: { metadata: { labels: { - app.kubernetes.io/name': shardksmname + 'app.kubernetes.io/name': shardksmname } - } + }, spec: { containers: [c], }, @@ -475,5 +475,3 @@ clusterRoleBinding: ksm.clusterRoleBinding, }, } - -