🤖 Update module github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring to v0.94.0 - #297
Conversation
…g/apis/monitoring to v0.94.0
ℹ️ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Due to Go's usage of Minimal Version Selection (MVS), these packages have been updated to the minimum version available, so will still abide by Details:
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@ske-renovate-operator[bot]: The following tests failed, say
Full PR test history. Your PR dashboard. Command help for this repository. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
stackit-ske-bot
left a comment
There was a problem hiding this comment.
Renovate Update Verification Report
- Classification: Yellow (Adapted & Verified)
- Model Used: gemini-3-8-flash
- Dependency: github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.93.1 -> v0.94.0
Impact Analysis
- Adaptation Rationale: The module
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoringis imported exclusively for registering theServiceMonitortype object in the controlplane values provider (pkg/controller/controlplane/valuesprovider.go#L30 and pkg/controller/controlplane/valuesprovider.go#L225). However,monitoringv0.94.0 requires Kubernetes 1.37 (k8s.io/* v0.37.0) andsigs.k8s.io/controller-runtime v0.25.0. Incontroller-runtimev0.25.0,manager.Manager.GetEventRecorderchanged its signature to returnsigs.k8s.io/controller-runtime/pkg/recorder.EventRecorderinstead ofk8s.io/client-go/tools/events.EventRecorder. Becausegardener/gardener v1.150.0is built againstcontroller-runtime v0.24.1, its test mocktest.FakeManagerfails to implementmanager.Managerat compile time across 7 test suites (e.g. pkg/admission/mutator/cloudprofile_test.go#L43 and pkg/controller/controlplane/valuesprovider_test.go#L66-L67). To maintain compatibility withgardener/gardener v1.150.0,controller-runtimeandk8s.io/*must be replaced and pinned back tov0.24.1/v0.36.4ingo.mod, or this update should be deferred until Gardener upgrades to Kubernetes 1.37. - Breaking Changes:
- Alertmanager duration fields handling (prometheus-operator/prometheus-operator#8800): Not relevant. The codebase does not declare, manage, or reconcile Alertmanager CRDs; it only references
monitoringv1.ServiceMonitorin pkg/controller/controlplane/valuesprovider.go#L225. - ScrapeConfig CRD enum types and empty string rejection (prometheus-operator/prometheus-operator#8789, prometheus-operator/prometheus-operator#8786): Not relevant. The codebase does not use
ScrapeConfigresources. - Transitive
controller-runtime v0.25.0interface breaking change: Directly breaks compilation of tests usinggithub.com/gardener/gardener/pkg/utils/test.FakeManager(e.g. pkg/admission/mutator/cloudprofile_test.go#L43, pkg/admission/validator/shoot_test.go#L48, pkg/controller/infrastructure/openstack/configvalidator_test.go#L122-L123, and pkg/webhook/cloudprovider/ensurer_test.go#L49) due toGetEventRecorderreturn type mismatch.
- Alertmanager duration fields handling (prometheus-operator/prometheus-operator#8800): Not relevant. The codebase does not declare, manage, or reconcile Alertmanager CRDs; it only references
Detailed Implementation Plan & Suggested Code Changes
Summary of Changes Required & Proactive Suggestions
Because monitoring v0.94.0 transitively forces k8s.io/* v0.37.0 and controller-runtime v0.25.0 via Go MVS, this breaks test builds against github.com/gardener/gardener v1.150.0.
Two remediation approaches are available:
- Option A (Recommended for merging v0.94.0 now): Add
replacedirectives ingo.modto pinsigs.k8s.io/controller-runtimetov0.24.1andk8s.io/*tov0.36.4to align withgardener/gardener v1.150.0. With these replacements, all unit and controller tests compile and pass cleanly. - Option B (Defer update): Close this PR or configure Renovate to ignore
monitoring v0.94.0until upstreamgardener/gardeneris upgraded to Kubernetes 1.37 / controller-runtime v0.25.0.
Proposed File Modifications & Code Changes
Suggested additions to go.mod (tested locally without committing):
diff --git a/go.mod b/go.mod
index 951dbcb..1c59c7a 100644
--- a/go.mod
+++ b/go.mod
@@ -261,3 +261,21 @@ require (
sigs.k8s.io/randfill v1.0.0 // indirect
sigs.k8s.io/structured-merge-diff/v6 v6.4.2 // indirect
)
+
+replace (
+ k8s.io/api => k8s.io/api v0.36.4
+ k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.36.4
+ k8s.io/apimachinery => k8s.io/apimachinery v0.36.4
+ k8s.io/apiserver => k8s.io/apiserver v0.36.4
+ k8s.io/client-go => k8s.io/client-go v0.36.4
+ k8s.io/component-base => k8s.io/component-base v0.36.4
+ k8s.io/kms => k8s.io/kms v0.36.4
+ k8s.io/streaming => k8s.io/streaming v0.36.4
+ sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.24.1
+)Verification Results
After adding the replace directives in the local worktree:
go mod tidy: executed cleanly without dependency conflicts.go test ./pkg/admission/... ./pkg/apis/... ./pkg/controller/... ./pkg/internal/... ./pkg/openstack/... ./pkg/stackit/... ./pkg/utils/... ./pkg/webhook/...: All unit and controller tests pass (PASS).go test -v ./pkg/controller/controlplane -run TestControlplane: 45 passed, 0 failed.
|
/hold will be updated with gardener |
This PR contains the following updates:
v0.93.1→v0.94.0Release Notes
prometheus-operator/prometheus-operator (github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring)
v0.94.0: 0.94.0 / 2026-09-09Compare Source
retention,clusterGossipInterval,clusterPushpullInterval,clusterPeerTimeout) inAlertmanagerresources instead of passing them as CLI flags, which Alertmanager rejects and can cause startup failures. Ignored fields are reported via theIgnoredFieldsstatus condition. #8800ScrapeConfigCRD (HetznerRole,DockerSwarmRole,OpenStackAvailability). #8789namespaceDiscovery.names,consulSDConfig.services, andconsulSDConfig.tagslist fields in theScrapeConfigCRD. #8786retentionPercentagefield toPrometheusandPrometheusAgentCRDs for volume-based retention (requires Prometheus >= v3.11.0). Setting only the percentage no longer falls back to the default 24h time-based retention. #8728clusterPeerNamefield toAlertmanagerCRD to override the--cluster.peer-nameflag (requires Alertmanager >= v0.30.0). #8767Prometheus,PrometheusAgent,Alertmanager, andThanosRulerresources (prometheus_operator_<resource>_status_condition). #8719webhook_url_filefor Discord receiver in Alertmanager configuration Secret (requires Alertmanager >= v0.28.0). #8035AlertmanagerConfigPushover receivers useuserKeyFileortokenFileinstead of secret selectors. #8775TracingConfigfields inPrometheusCRD not being serialized due to invalid JSON struct tags. #8730externalIdversion gating for Alertmanager SigV4 configuration to require version >= v0.34.0 (was incorrectly set to v0.33.0). #8759Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.