From 22e1f834eaddee47ea70f9059e37258f42e8f7e1 Mon Sep 17 00:00:00 2001 From: Lukasz Mierzwa Date: Tue, 9 Dec 2025 09:57:31 +0000 Subject: [PATCH 1/3] Update Prometheus libs to v3.8 --- go.mod | 5 ++-- go.sum | 94 ++++++++++++++++++++++++++++++---------------------------- 2 files changed, 50 insertions(+), 49 deletions(-) diff --git a/go.mod b/go.mod index 1fd8fc31..02d724a1 100644 --- a/go.mod +++ b/go.mod @@ -15,13 +15,13 @@ require ( github.com/prometheus/client_golang v1.23.2 github.com/prometheus/client_model v0.6.2 github.com/prometheus/common v0.67.4 - github.com/prometheus/prometheus v0.307.3 + github.com/prometheus/prometheus v0.308.0 github.com/prymitive/current v0.1.1 github.com/rogpeppe/go-internal v1.14.1 github.com/stretchr/testify v1.11.1 github.com/urfave/cli/v3 v3.6.1 github.com/zclconf/go-cty v1.17.0 - gitlab.com/gitlab-org/api/client-go v1.7.0 + gitlab.com/gitlab-org/api/client-go v1.8.0 go.nhat.io/httpmock v0.11.0 go.uber.org/ratelimit v0.3.1 go.yaml.in/yaml/v3 v3.0.4 @@ -38,7 +38,6 @@ require ( github.com/dennwc/varint v1.0.0 // indirect github.com/edsrzf/mmap-go v1.2.0 // indirect github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb // indirect - github.com/fatih/color v1.18.0 // indirect github.com/gkampitakis/ciinfo v0.3.2 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect diff --git a/go.sum b/go.sum index 325a06ff..91451a6a 100644 --- a/go.sum +++ b/go.sum @@ -1,9 +1,9 @@ -cloud.google.com/go/auth v0.16.5 h1:mFWNQ2FEVWAliEQWpAdH80omXFokmrnbDhUS9cBywsI= -cloud.google.com/go/auth v0.16.5/go.mod h1:utzRfHMP+Vv0mpOkTRQoWD2q3BatTOoWbA7gCc2dUhQ= +cloud.google.com/go/auth v0.17.0 h1:74yCm7hCj2rUyyAocqnFzsAYXgJhrG26XCFimrc/Kz4= +cloud.google.com/go/auth v0.17.0/go.mod h1:6wv/t5/6rOPAX4fJiRjKkJCvswLwdet7G8+UGXt7nCQ= cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc= cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= -cloud.google.com/go/compute/metadata v0.8.4 h1:oXMa1VMQBVCyewMIOm3WQsnVd9FbKBtm8reqWRaXnHQ= -cloud.google.com/go/compute/metadata v0.8.4/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= +cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= +cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1 h1:5YTBM8QDVIBN3sxBil89WfdAAqDZbyJTgh688DSxX5w= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1/go.mod h1:YD5h/ldMsG0XiIw7PdyNhLxaM317eFh5yNLccNfGdyw= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.12.0 h1:wL5IEG5zb7BVv1Kv0Xm92orq+5hB5Nipn3B5tn4Rqfk= @@ -20,32 +20,32 @@ github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vS github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= -github.com/aws/aws-sdk-go-v2 v1.39.2 h1:EJLg8IdbzgeD7xgvZ+I8M1e0fL0ptn/M47lianzth0I= -github.com/aws/aws-sdk-go-v2 v1.39.2/go.mod h1:sDioUELIUO9Znk23YVmIk86/9DOpkbyyVb1i/gUNFXY= -github.com/aws/aws-sdk-go-v2/config v1.31.12 h1:pYM1Qgy0dKZLHX2cXslNacbcEFMkDMl+Bcj5ROuS6p8= -github.com/aws/aws-sdk-go-v2/config v1.31.12/go.mod h1:/MM0dyD7KSDPR+39p9ZNVKaHDLb9qnfDurvVS2KAhN8= -github.com/aws/aws-sdk-go-v2/credentials v1.18.16 h1:4JHirI4zp958zC026Sm+V4pSDwW4pwLefKrc0bF2lwI= -github.com/aws/aws-sdk-go-v2/credentials v1.18.16/go.mod h1:qQMtGx9OSw7ty1yLclzLxXCRbrkjWAM7JnObZjmCB7I= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.9 h1:Mv4Bc0mWmv6oDuSWTKnk+wgeqPL5DRFu5bQL9BGPQ8Y= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.9/go.mod h1:IKlKfRppK2a1y0gy1yH6zD+yX5uplJ6UuPlgd48dJiQ= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.9 h1:se2vOWGD3dWQUtfn4wEjRQJb1HK1XsNIt825gskZ970= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.9/go.mod h1:hijCGH2VfbZQxqCDN7bwz/4dzxV+hkyhjawAtdPWKZA= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.9 h1:6RBnKZLkJM4hQ+kN6E7yWFveOTg8NLPHAkqrs4ZPlTU= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.9/go.mod h1:V9rQKRmK7AWuEsOMnHzKj8WyrIir1yUJbZxDuZLFvXI= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.1 h1:oegbebPEMA/1Jny7kvwejowCaHz1FWZAQ94WXFNCyTM= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.1/go.mod h1:kemo5Myr9ac0U9JfSjMo9yHLtw+pECEHsFtJ9tqCEI8= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.9 h1:5r34CgVOD4WZudeEKZ9/iKpiT6cM1JyEROpXjOcdWv8= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.9/go.mod h1:dB12CEbNWPbzO2uC6QSWHteqOg4JfBVJOojbAoAUb5I= -github.com/aws/aws-sdk-go-v2/service/sso v1.29.6 h1:A1oRkiSQOWstGh61y4Wc/yQ04sqrQZr1Si/oAXj20/s= -github.com/aws/aws-sdk-go-v2/service/sso v1.29.6/go.mod h1:5PfYspyCU5Vw1wNPsxi15LZovOnULudOQuVxphSflQA= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.1 h1:5fm5RTONng73/QA73LhCNR7UT9RpFH3hR6HWL6bIgVY= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.1/go.mod h1:xBEjWD13h+6nq+z4AkqSfSvqRKFgDIQeaMguAJndOWo= -github.com/aws/aws-sdk-go-v2/service/sts v1.38.6 h1:p3jIvqYwUZgu/XYeI48bJxOhvm47hZb5HUQ0tn6Q9kA= -github.com/aws/aws-sdk-go-v2/service/sts v1.38.6/go.mod h1:WtKK+ppze5yKPkZ0XwqIVWD4beCwv056ZbPQNoeHqM8= -github.com/aws/smithy-go v1.23.0 h1:8n6I3gXzWJB2DxBDnfxgBaSX6oe0d/t10qGz7OKqMCE= -github.com/aws/smithy-go v1.23.0/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI= +github.com/aws/aws-sdk-go-v2 v1.39.6 h1:2JrPCVgWJm7bm83BDwY5z8ietmeJUbh3O2ACnn+Xsqk= +github.com/aws/aws-sdk-go-v2 v1.39.6/go.mod h1:c9pm7VwuW0UPxAEYGyTmyurVcNrbF6Rt/wixFqDhcjE= +github.com/aws/aws-sdk-go-v2/config v1.31.17 h1:QFl8lL6RgakNK86vusim14P2k8BFSxjvUkcWLDjgz9Y= +github.com/aws/aws-sdk-go-v2/config v1.31.17/go.mod h1:V8P7ILjp/Uef/aX8TjGk6OHZN6IKPM5YW6S78QnRD5c= +github.com/aws/aws-sdk-go-v2/credentials v1.18.21 h1:56HGpsgnmD+2/KpG0ikvvR8+3v3COCwaF4r+oWwOeNA= +github.com/aws/aws-sdk-go-v2/credentials v1.18.21/go.mod h1:3YELwedmQbw7cXNaII2Wywd+YY58AmLPwX4LzARgmmA= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.13 h1:T1brd5dR3/fzNFAQch/iBKeX07/ffu/cLu+q+RuzEWk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.13/go.mod h1:Peg/GBAQ6JDt+RoBf4meB1wylmAipb7Kg2ZFakZTlwk= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.13 h1:a+8/MLcWlIxo1lF9xaGt3J/u3yOZx+CdSveSNwjhD40= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.13/go.mod h1:oGnKwIYZ4XttyU2JWxFrwvhF6YKiK/9/wmE3v3Iu9K8= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.13 h1:HBSI2kDkMdWz4ZM7FjwE7e/pWDEZ+nR95x8Ztet1ooY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.13/go.mod h1:YE94ZoDArI7awZqJzBAZ3PDD2zSfuP7w6P2knOzIn8M= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 h1:WKuaxf++XKWlHWu9ECbMlha8WOEGm0OUEZqm4K/Gcfk= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4/go.mod h1:ZWy7j6v1vWGmPReu0iSGvRiise4YI5SkR3OHKTZ6Wuc= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3 h1:x2Ibm/Af8Fi+BH+Hsn9TXGdT+hKbDd5XOTZxTMxDk7o= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3/go.mod h1:IW1jwyrQgMdhisceG8fQLmQIydcT/jWY21rFhzgaKwo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13 h1:kDqdFvMY4AtKoACfzIGD8A0+hbT41KTKF//gq7jITfM= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13/go.mod h1:lmKuogqSU3HzQCwZ9ZtcqOc5XGMqtDK7OIc2+DxiUEg= +github.com/aws/aws-sdk-go-v2/service/sso v1.30.1 h1:0JPwLz1J+5lEOfy/g0SURC9cxhbQ1lIMHMa+AHZSzz0= +github.com/aws/aws-sdk-go-v2/service/sso v1.30.1/go.mod h1:fKvyjJcz63iL/ftA6RaM8sRCtN4r4zl4tjL3qw5ec7k= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.5 h1:OWs0/j2UYR5LOGi88sD5/lhN6TDLG6SfA7CqsQO9zF0= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.5/go.mod h1:klO+ejMvYsB4QATfEOIXk8WAEwN4N0aBfJpvC+5SZBo= +github.com/aws/aws-sdk-go-v2/service/sts v1.39.1 h1:mLlUgHn02ue8whiR4BmxxGJLR2gwU6s6ZzJ5wDamBUs= +github.com/aws/aws-sdk-go-v2/service/sts v1.39.1/go.mod h1:E19xDjpzPZC7LS2knI9E6BaRFDK43Eul7vd6rSq2HWk= +github.com/aws/smithy-go v1.23.2 h1:Crv0eatJUQhaManss33hS5r40CG3ZFH+21XSkqMrIUM= +github.com/aws/smithy-go v1.23.2/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0= github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 h1:6df1vn4bBlDDo4tARvBm7l6KA9iVMnE3NWizDeWSrps= github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3/go.mod h1:CIWtjkly68+yqLPbvwwR/fjNJA/idrtULjZWh2v1ys0= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= @@ -69,8 +69,8 @@ github.com/edsrzf/mmap-go v1.2.0 h1:hXLYlkbaPzt1SaQk+anYwKSRNhufIDCchSPkUD6dD84= github.com/edsrzf/mmap-go v1.2.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb h1:IT4JYU7k4ikYg1SCxNI1/Tieq/NFvh6dzLdgi7eu0tM= github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb/go.mod h1:bH6Xx7IW64qjjJq8M2u4dxNaBiDfKK+z/3eGDpXEQhc= -github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= -github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= +github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= @@ -178,6 +178,8 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= +github.com/prometheus/client_golang/exp v0.0.0-20250914183048-a974e0d45e0a h1:RF1vfKM34/3DbGNis22BGd6sDDY3XBi0eM7pYqmOEO0= +github.com/prometheus/client_golang/exp v0.0.0-20250914183048-a974e0d45e0a/go.mod h1:FGJuwvfcPY0V5enm+w8zF1RNS062yugQtPPQp1c4Io4= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.67.4 h1:yR3NqWO1/UyO1w2PhUvXlGQs/PtFmoveVO0KZ4+Lvsc= @@ -186,10 +188,10 @@ github.com/prometheus/otlptranslator v1.0.0 h1:s0LJW/iN9dkIH+EnhiD3BlkkP5QVIUVEo github.com/prometheus/otlptranslator v1.0.0/go.mod h1:vRYWnXvI6aWGpsdY/mOT/cbeVRBlPWtBNDb7kGR3uKM= github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= -github.com/prometheus/prometheus v0.307.3 h1:zGIN3EpiKacbMatcUL2i6wC26eRWXdoXfNPjoBc2l34= -github.com/prometheus/prometheus v0.307.3/go.mod h1:sPbNW+KTS7WmzFIafC3Inzb6oZVaGLnSvwqTdz2jxRQ= -github.com/prometheus/sigv4 v0.2.1 h1:hl8D3+QEzU9rRmbKIRwMKRwaFGyLkbPdH5ZerglRHY0= -github.com/prometheus/sigv4 v0.2.1/go.mod h1:ySk6TahIlsR2sxADuHy4IBFhwEjRGGsfbbLGhFYFj6Q= +github.com/prometheus/prometheus v0.308.0 h1:kVh/5m1n6m4cSK9HYTDEbMxzuzCWyEdPdKSxFRxXj04= +github.com/prometheus/prometheus v0.308.0/go.mod h1:xXYKzScyqyFHihpS0UsXpC2F3RA/CygOs7wb4mpdusE= +github.com/prometheus/sigv4 v0.3.0 h1:QIG7nTbu0JTnNidGI1Uwl5AGVIChWUACxn2B/BQ1kms= +github.com/prometheus/sigv4 v0.3.0/go.mod h1:fKtFYDus2M43CWKMNtGvFNHGXnAJJEGZbiYCmVp/F8I= github.com/prymitive/current v0.1.1 h1:RNMYkRQV0M9H1ndtnvGIeUHG6P7vwRxoHn01KvHKuIs= github.com/prymitive/current v0.1.1/go.mod h1:Zjs6a6tU1nIrtp5pefJXg2NKES2L/eqH3Lf05/wr5R4= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= @@ -230,8 +232,8 @@ github.com/zclconf/go-cty v1.17.0 h1:seZvECve6XX4tmnvRzWtJNHdscMtYEx5R7bnnVyd/d0 github.com/zclconf/go-cty v1.17.0/go.mod h1:wqFzcImaLTI6A5HfsRwB0nj5n0MRZFwmey8YoFPPs3U= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM= -gitlab.com/gitlab-org/api/client-go v1.7.0 h1:Dk8bh6ms47sVgu2hLOhM1PmkVT8NhHzVE/pDrXlJGuI= -gitlab.com/gitlab-org/api/client-go v1.7.0/go.mod h1:RQfw64j1FE+KMZUAKsi1ZOOvwbWxHn9SkyZg+IAvjk4= +gitlab.com/gitlab-org/api/client-go v1.8.0 h1:IOD56AS4WismCeOz0PS3vrZr8RCr2A3B+rVfZzZjwLQ= +gitlab.com/gitlab-org/api/client-go v1.8.0/go.mod h1:RQfw64j1FE+KMZUAKsi1ZOOvwbWxHn9SkyZg+IAvjk4= go.nhat.io/httpmock v0.11.0 h1:GSADjr4/sn1HXqnyluPr9PYpSmMh/h3ty0O7lEozD3c= go.nhat.io/httpmock v0.11.0/go.mod h1:276uIJ0K7BYfC8EW2WUK4S9PyEjiR71Ex0+43b3eNtk= go.nhat.io/matcher/v2 v2.0.0 h1:W+rbHi0hKuZHtOQH4U5g+KwyKyfVioIxrxjoGRcUETE= @@ -261,8 +263,8 @@ go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.42.0 h1:chiH31gIWm57EkTXpwnqf8qeuMUi0yekh6mT2AvFlqI= -golang.org/x/crypto v0.42.0/go.mod h1:4+rDnOTJhQCx2q7/j6rAN5XDw8kPjeaXEUR2eL94ix8= +golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04= +golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0= golang.org/x/exp v0.0.0-20250813145105-42675adae3e6 h1:SbTAbRFnd5kjQXbczszQ0hdk3ctwYf3qBNH9jIsGclE= golang.org/x/exp v0.0.0-20250813145105-42675adae3e6/go.mod h1:4QTo5u+SEIbbKW1RacMZq1YEfOBqeXa19JeshGi+zc4= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -303,12 +305,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.250.0 h1:qvkwrf/raASj82UegU2RSDGWi/89WkLckn4LuO4lVXM= -google.golang.org/api v0.250.0/go.mod h1:Y9Uup8bDLJJtMzJyQnu+rLRJLA0wn+wTtc6vTlOvfXo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250922171735-9219d122eba9 h1:V1jCN2HBa8sySkR5vLcCSqJSTMv093Rw9EJefhQGP7M= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250922171735-9219d122eba9/go.mod h1:HSkG/KdJWusxU1F6CNrwNDjBMgisKxGnc5dAZfT0mjQ= -google.golang.org/grpc v1.75.1 h1:/ODCNEuf9VghjgO3rqLcfg8fiOP0nSluljWFlDxELLI= -google.golang.org/grpc v1.75.1/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= +google.golang.org/api v0.252.0 h1:xfKJeAJaMwb8OC9fesr369rjciQ704AjU/psjkKURSI= +google.golang.org/api v0.252.0/go.mod h1:dnHOv81x5RAmumZ7BWLShB/u7JZNeyalImxHmtTHxqw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251002232023-7c0ddcbb5797 h1:CirRxTOwnRWVLKzDNrs0CXAaVozJoR4G9xvdRecrdpk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251002232023-7c0ddcbb5797/go.mod h1:HSkG/KdJWusxU1F6CNrwNDjBMgisKxGnc5dAZfT0mjQ= +google.golang.org/grpc v1.76.0 h1:UnVkv1+uMLYXoIz6o7chp59WfQUYA2ex/BXQ9rHZu7A= +google.golang.org/grpc v1.76.0/go.mod h1:Ju12QI8M6iQJtbcsV+awF5a4hfJMLi4X0JLo94ULZ6c= google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From aa5bfc16cb9402ad67c8e1199dfdd83943363bf7 Mon Sep 17 00:00:00 2001 From: Lukasz Mierzwa Date: Tue, 9 Dec 2025 09:55:06 +0000 Subject: [PATCH 2/3] labels.MetricName is deprecated, use model.MetricNameLabel --- internal/checks/promql_regexp.go | 2 +- internal/checks/promql_selector.go | 3 ++- internal/checks/promql_series.go | 8 ++++---- internal/checks/promql_vector_matching.go | 4 ++-- internal/checks/query_cost.go | 7 ++++--- internal/parser/source/source.go | 19 ++++++++++--------- 6 files changed, 23 insertions(+), 20 deletions(-) diff --git a/internal/checks/promql_regexp.go b/internal/checks/promql_regexp.go index 68ec97f9..c9f5ddd2 100644 --- a/internal/checks/promql_regexp.go +++ b/internal/checks/promql_regexp.go @@ -241,7 +241,7 @@ type badMatcher struct { func makeLabel(name string, matchers ...*labels.Matcher) string { filtered := make([]*labels.Matcher, 0, len(matchers)) for _, m := range matchers { - if m.Type == labels.MatchEqual && m.Name == labels.MetricName { + if m.Type == labels.MatchEqual && m.Name == model.MetricNameLabel { continue } filtered = append(filtered, m) diff --git a/internal/checks/promql_selector.go b/internal/checks/promql_selector.go index b0b1571d..c8f87fae 100644 --- a/internal/checks/promql_selector.go +++ b/internal/checks/promql_selector.go @@ -6,6 +6,7 @@ import ( "regexp" "slices" + "github.com/prometheus/common/model" "github.com/prometheus/prometheus/model/labels" promParser "github.com/prometheus/prometheus/promql/parser" @@ -113,7 +114,7 @@ func (c SelectorCheck) checkSource(keyRe, callRe *regexp.Regexp, s source.Source return problems } for _, lm := range vs.LabelMatchers { - if lm.Name == labels.MetricName && !keyRe.MatchString(lm.Value) { + if lm.Name == model.MetricNameLabel && !keyRe.MatchString(lm.Value) { return problems } } diff --git a/internal/checks/promql_series.go b/internal/checks/promql_series.go index c00c2f0e..2eb7404e 100644 --- a/internal/checks/promql_series.go +++ b/internal/checks/promql_series.go @@ -175,7 +175,7 @@ func (c SeriesCheck) Check(ctx context.Context, entry *discovery.Entry, entries metricName := selector.Name if metricName == "" { for _, lm := range selector.LabelMatchers { - if lm.Name == labels.MetricName && lm.Type == labels.MatchEqual { + if lm.Name == model.MetricNameLabel && lm.Type == labels.MatchEqual { metricName = lm.Value break } @@ -232,7 +232,7 @@ func (c SeriesCheck) Check(ctx context.Context, entry *discovery.Entry, entries labelNames := []string{} for _, lm := range selector.LabelMatchers { - if lm.Name == labels.MetricName { + if lm.Name == model.MetricNameLabel { continue } if lm.Type == labels.MatchNotEqual || lm.Type == labels.MatchNotRegexp { @@ -479,7 +479,7 @@ func (c SeriesCheck) Check(ctx context.Context, entry *discovery.Entry, entries } for _, lm := range selector.LabelMatchers { - if lm.Name == labels.MetricName { + if lm.Name == model.MetricNameLabel { continue } if lm.Type != labels.MatchEqual && lm.Type != labels.MatchRegexp { @@ -995,7 +995,7 @@ func stripLabels(selector *promParser.VectorSelector) promParser.VectorSelector LabelMatchers: []*labels.Matcher{}, } for _, lm := range selector.LabelMatchers { - if lm.Name == labels.MetricName { + if lm.Name == model.MetricNameLabel { s.LabelMatchers = append(s.LabelMatchers, lm) if lm.Type == labels.MatchEqual { s.Name = lm.Value diff --git a/internal/checks/promql_vector_matching.go b/internal/checks/promql_vector_matching.go index a2fb0163..0c144543 100644 --- a/internal/checks/promql_vector_matching.go +++ b/internal/checks/promql_vector_matching.go @@ -97,7 +97,7 @@ func (c VectorMatchingCheck) checkNode(ctx context.Context, rule parser.Rule, ex if lhs, ok := n.LHS.(*promParser.VectorSelector); ok { lhsVec = true for _, lm := range lhs.LabelMatchers { - if lm.Name != labels.MetricName && lm.Type == labels.MatchEqual { + if lm.Name != model.MetricNameLabel && lm.Type == labels.MatchEqual { if n.VectorMatching.On != slices.Contains(n.VectorMatching.MatchingLabels, lm.Name) { continue } @@ -109,7 +109,7 @@ func (c VectorMatchingCheck) checkNode(ctx context.Context, rule parser.Rule, ex if rhs, ok := n.RHS.(*promParser.VectorSelector); ok { rhsVec = true for _, lm := range rhs.LabelMatchers { - if lm.Name != labels.MetricName && lm.Type == labels.MatchEqual { + if lm.Name != model.MetricNameLabel && lm.Type == labels.MatchEqual { rhsMatchers[lm.Name] = lm.Value } } diff --git a/internal/checks/query_cost.go b/internal/checks/query_cost.go index b9c68069..0316add4 100644 --- a/internal/checks/query_cost.go +++ b/internal/checks/query_cost.go @@ -10,6 +10,7 @@ import ( "strings" "time" + "github.com/prometheus/common/model" "github.com/prometheus/prometheus/model/labels" promParser "github.com/prometheus/prometheus/promql/parser" @@ -470,7 +471,7 @@ func (c CostCheck) isSuggestionFor(src, potential source.Source, join *source.Jo lms := c.selectorLabels(ops) for _, lm := range lms { - if lm.Name == labels.MetricName { + if lm.Name == model.MetricNameLabel { continue } if !potential.CanHaveLabel(lm.Name) { @@ -482,7 +483,7 @@ func (c CostCheck) isSuggestionFor(src, potential source.Source, join *source.Jo var buf strings.Builder var added int for _, lm := range lms { - if lm.Name == labels.MetricName { + if lm.Name == model.MetricNameLabel { continue } if added == 0 { @@ -535,7 +536,7 @@ func (c CostCheck) metricName(ops source.Operations) string { for _, op := range ops { if vs, ok := op.Node.(*promParser.VectorSelector); ok { for _, lm := range vs.LabelMatchers { - if lm.Type == labels.MatchEqual && lm.Name == labels.MetricName { + if lm.Type == labels.MatchEqual && lm.Name == model.MetricNameLabel { return lm.Value } } diff --git a/internal/parser/source/source.go b/internal/parser/source/source.go index dcc4bff6..529d6f14 100644 --- a/internal/parser/source/source.go +++ b/internal/parser/source/source.go @@ -8,6 +8,7 @@ import ( "strconv" "strings" + "github.com/prometheus/common/model" "github.com/prometheus/prometheus/model/labels" promParser "github.com/prometheus/prometheus/promql/parser" "github.com/prometheus/prometheus/promql/parser/posrange" @@ -582,7 +583,7 @@ func labelsFromSelectors(matches []labels.MatchType, selector *promParser.Vector } // Any label used in positive filters is gurnateed to be present. for _, lm := range selector.LabelMatchers { - if lm.Name == labels.MetricName { + if lm.Name == model.MetricNameLabel { continue } if !slices.Contains(matches, lm.Type) { @@ -595,7 +596,7 @@ func labelsFromSelectors(matches []labels.MatchType, selector *promParser.Vector func labelsWithEmptyValueSelector(selector *promParser.VectorSelector) (names []string) { for _, lm := range selector.LabelMatchers { - if lm.Name == labels.MetricName { + if lm.Name == model.MetricNameLabel { continue } if lm.Type == labels.MatchEqual && lm.Value == "" { @@ -631,8 +632,8 @@ func walkAggregation(expr string, n *promParser.AggregateExpr) (src []Source) { n.PosRange, n.Param.(*promParser.StringLiteral).Val, ) - if n.Without || !slices.Contains(n.Grouping, labels.MetricName) { - s.excludeLabel("Aggregation removes metric name.", n.PosRange, labels.MetricName) + if n.Without || !slices.Contains(n.Grouping, model.MetricNameLabel) { + s.excludeLabel("Aggregation removes metric name.", n.PosRange, model.MetricNameLabel) } src = append(src, s) } @@ -656,8 +657,8 @@ func walkAggregation(expr string, n *promParser.AggregateExpr) (src []Source) { Node: n, Arguments: args, }) - if n.Without || !slices.Contains(n.Grouping, labels.MetricName) { - s.excludeLabel("Aggregation removes metric name.", n.PosRange, labels.MetricName) + if n.Without || !slices.Contains(n.Grouping, model.MetricNameLabel) { + s.excludeLabel("Aggregation removes metric name.", n.PosRange, model.MetricNameLabel) } src = append(src, s) } @@ -1128,7 +1129,7 @@ func parseBinOps(expr string, n *promParser.BinaryExpr) (src []Source) { }) } ls.DeadLabels = append(ls.DeadLabels, ls.checkJoinedLabels(expr, n, ls)...) - ls.excludeLabel("Binary operation between two vectors removes metric names.", pos, labels.MetricName) + ls.excludeLabel("Binary operation between two vectors removes metric names.", pos, model.MetricNameLabel) ls.IsConditional, ls.ReturnInfo.IsReturnBool = checkConditions(ls, n.Op, n.ReturnBool) src = append(src, ls) } @@ -1192,7 +1193,7 @@ func parseBinOps(expr string, n *promParser.BinaryExpr) (src []Source) { IsOn: n.VectorMatching.On, }) } - rs.excludeLabel("Binary operation between two vectors removes metric names.", pos, labels.MetricName) + rs.excludeLabel("Binary operation between two vectors removes metric names.", pos, model.MetricNameLabel) rs.IsConditional, rs.ReturnInfo.IsReturnBool = checkConditions(rs, n.Op, n.ReturnBool) src = append(src, rs) } @@ -1253,7 +1254,7 @@ func parseBinOps(expr string, n *promParser.BinaryExpr) (src []Source) { IsOn: n.VectorMatching.On, }) } - ls.excludeLabel("Binary operation between two vectors removes metric names.", pos, labels.MetricName) + ls.excludeLabel("Binary operation between two vectors removes metric names.", pos, model.MetricNameLabel) ls.IsConditional, ls.ReturnInfo.IsReturnBool = checkConditions(ls, n.Op, n.ReturnBool) src = append(src, ls) } From e8bbd17befdd90466201be3d8a96c63e02d8cf4c Mon Sep 17 00:00:00 2001 From: Lukasz Mierzwa Date: Tue, 9 Dec 2025 09:59:44 +0000 Subject: [PATCH 3/3] Add urlQueryEscape template function --- internal/checks/alerts_template.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/checks/alerts_template.go b/internal/checks/alerts_template.go index 9a568b74..ca7e3ce8 100644 --- a/internal/checks/alerts_template.go +++ b/internal/checks/alerts_template.go @@ -68,6 +68,7 @@ var ( "pathPrefix": dummyFuncMap, "externalURL": dummyFuncMap, "parseDuration": dummyFuncMap, + "urlQueryEscape": dummyFuncMap, } templatePool = sync.Pool{