Conversation
…4834) * fix: add ForceShutdown that will cancel in-flight requests before stopping server * Split into multiple files and add LogsBatchReceiver * don't drop request when relabel rules drops a specific stream * fix: use loki.LogsBatchReceiver to ensure all entries in a request is sent down the pipeline * add changelog * add checks for entries and use sync once to close channel
|
💻 Deploy preview deleted (v1.12 rc.1 content). |
…on test (#4875) * Fix port in use flakyness for loki source api tests * Pin loki container version for integration tests
* Add a new mimir.alerts.kubernetes component * Sync Mimir periodically, test the case of a CRD deletion * Add TODOs * Longer test timeout * Check if pods are running * Apply suggestions from code review Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com> * Fix metric doc * Fix changelog --------- Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>
🔍 Dependency ReviewBelow is an assessment of the Go module dependency changes in this PR and any code changes necessary to adopt them. For each dependency, I’ve pulled in relevant notes from upstream changelogs and mapped them to concrete code updates (with diffs) when applicable. I’ve reviewed each change between the “as-is” and “to-be” versions.
github.com/prometheus-operator/prometheus-operator v0.82.2 → v0.86.1 — ❌ Changes NeededWhy: Between v0.82.x and v0.86.x, Prometheus Operator made breaking API changes across the Monitoring CRDs (ServiceMonitor, PodMonitor, Probe, ScrapeConfig). These were largely refactors of HTTP scraping configuration into a structured HTTPConfig block and related field renames. Key breaking changes (relevant excerpts from upstream release notes/changelogs):
Evidence:
Required code updates (shown as diffs you should make if not already done):
- if ep.FollowRedirects != nil {
- cfg.HTTPClientConfig.FollowRedirects = *ep.FollowRedirects
- }
- if ep.EnableHttp2 != nil {
- cfg.HTTPClientConfig.EnableHTTP2 = *ep.EnableHttp2
- }
- if ep.TLSConfig != nil {
- cfg.HTTPClientConfig.TLSConfig, err = cg.generateSafeTLS(*ep.TLSConfig, m.Namespace)
- }
- if ep.BearerTokenSecret.Name != "" {
- val, err := cg.Secrets.GetSecretValue(m.Namespace, ep.BearerTokenSecret)
- }
+ if ep.HTTPConfig.FollowRedirects != nil {
+ cfg.HTTPClientConfig.FollowRedirects = *ep.HTTPConfig.FollowRedirects
+ }
+ if ep.HTTPConfig.EnableHTTP2 != nil {
+ cfg.HTTPClientConfig.EnableHTTP2 = *ep.HTTPConfig.EnableHTTP2
+ }
+ if ep.HTTPConfig.TLSConfig != nil {
+ cfg.HTTPClientConfig.TLSConfig, err = cg.generateSafeTLS(*ep.HTTPConfig.TLSConfig, m.Namespace)
+ }
+ if ep.BearerTokenSecret != nil && ep.BearerTokenSecret.Name != "" {
+ val, err := cg.Secrets.GetSecretValue(m.Namespace, *ep.BearerTokenSecret)
+ }
+ if ep.HTTPConfig.ProxyConfig.ProxyURL != nil {
+ cfg.HTTPClientConfig.ProxyURL = parseURL(*ep.HTTPConfig.ProxyConfig.ProxyURL)
+ }
- if m.Spec.ProberSpec.ProxyURL != "" {
- u, err := url.Parse(m.Spec.ProberSpec.ProxyURL)
+ if m.Spec.ProberSpec.ProxyURL != nil && *m.Spec.ProberSpec.ProxyURL != "" {
+ u, err := url.Parse(*m.Spec.ProberSpec.ProxyURL)
...
}
- EnableHttp2: falsePtr,
- FollowRedirects: falsePtr,
- ProxyURL: &proxyURL,
- TLSConfig: &promopv1.SafeTLSConfig{ ... }
+ HTTPConfig: promopv1.HTTPConfig{
+ EnableHTTP2: falsePtr,
+ FollowRedirects: falsePtr,
+ ProxyConfig: promopv1.ProxyConfig{
+ ProxyURL: &proxyURL,
+ },
+ TLSConfig: &promopv1.SafeTLSConfig{ ... },
+ }Conclusion: This upgrade requires code changes that you’ve already made in this PR, aligning with the new Prometheus Operator API. No additional changes are needed beyond what’s shown above. github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.82.2 → v0.86.1 — ❌ Changes NeededThis is the API module that defines the Monitoring CRD structs. Same breaking changes as above apply here (HTTPConfig refactor, field renames, pointer semantics).
No additional changes are required beyond the ones shown in the previous section. github.com/prometheus-operator/prometheus-operator/pkg/client v0.82.2 → v0.86.1 — ✅ SafeClient generation follows the CRD changes but your code interacts with typed clients/informers via controller-runtime and typed listers (not directly with the generated clientsets here beyond informers/listing). The compile-time shape is covered by the changes you already made to the API structs. No additional code changes needed. sigs.k8s.io/controller-runtime v0.21.0 → v0.22.2 —
|
Cherry-picked content