From a97a5877cc99ebadb2740d33e284e91b24a242da Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 18 Aug 2026 11:08:13 +0200 Subject: [PATCH 01/13] Renovate: Update module github.com/mattn/go-sqlite3 to v1.14.50 (#1143) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [github.com/mattn/go-sqlite3](https://redirect.github.com/mattn/go-sqlite3) | `v1.14.49` → `v1.14.50` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmattn%2fgo-sqlite3/v1.14.50?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fmattn%2fgo-sqlite3/v1.14.50?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fmattn%2fgo-sqlite3/v1.14.49/v1.14.50?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmattn%2fgo-sqlite3/v1.14.49/v1.14.50?slim=true) | --- ### Release Notes
mattn/go-sqlite3 (github.com/mattn/go-sqlite3) ### [`v1.14.50`](https://redirect.github.com/mattn/go-sqlite3/releases/tag/v1.14.50): 1.14.50 [Compare Source](https://redirect.github.com/mattn/go-sqlite3/compare/v1.14.49...v1.14.50) #### What's Changed - Handle NULL and BLOB values in json example Scan by [@​mattn](https://redirect.github.com/mattn) in [#​1441](https://redirect.github.com/mattn/go-sqlite3/pull/1441) - Add workflow to create releases on tag push by [@​mattn](https://redirect.github.com/mattn) in [#​1443](https://redirect.github.com/mattn/go-sqlite3/pull/1443) - fix: keep vtab handle registered when xDestroy fails by [@​canesin](https://redirect.github.com/canesin) in [#​1446](https://redirect.github.com/mattn/go-sqlite3/pull/1446) #### New Contributors - [@​canesin](https://redirect.github.com/canesin) made their first contribution in [#​1446](https://redirect.github.com/mattn/go-sqlite3/pull/1446) **Full Changelog**:
--- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - "after 6pm every weekday,every weekend,before 8am every weekday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cobaltcore-dev/cortex). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 39642d8e9..eae2b6f51 100644 --- a/go.mod +++ b/go.mod @@ -73,7 +73,7 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/lib/pq v1.12.3 - github.com/mattn/go-sqlite3 v1.14.49 + github.com/mattn/go-sqlite3 v1.14.50 github.com/moby/sys/user v0.4.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect diff --git a/go.sum b/go.sum index 9c4e7ac38..b13109868 100644 --- a/go.sum +++ b/go.sum @@ -141,8 +141,8 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lib/pq v1.12.3 h1:tTWxr2YLKwIvK90ZXEw8GP7UFHtcbTtty8zsI+YjrfQ= github.com/lib/pq v1.12.3/go.mod h1:/p+8NSbOcwzAEI7wiMXFlgydTwcgTr3OSKMsD2BitpA= -github.com/mattn/go-sqlite3 v1.14.49 h1:B8jBHC3xhxZgxztrgruTuLucebnULQnx4W7cF7SAE9w= -github.com/mattn/go-sqlite3 v1.14.49/go.mod h1:6JTjA44L93a0QCyJef5YvlPoKXntQPjzWv5gtm9sB6w= +github.com/mattn/go-sqlite3 v1.14.50 h1:dmdFvo1XG4MPzA4IkAmE9upVz/Nj31uRoM5+jC8hYbY= +github.com/mattn/go-sqlite3 v1.14.50/go.mod h1:6JTjA44L93a0QCyJef5YvlPoKXntQPjzWv5gtm9sB6w= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= From 0da77f35d66d02243eda5234d547ffd4349c8210 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 19 Aug 2026 10:07:48 +0200 Subject: [PATCH 02/13] Renovate: Update github.com/sapcc (#1146) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | Type | Update | |---|---|---|---|---|---|---|---| | [github.com/sapcc/go-api-declarations](https://redirect.github.com/sapcc/go-api-declarations) | `v1.24.0` → `v1.25.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fsapcc%2fgo-api-declarations/v1.25.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fsapcc%2fgo-api-declarations/v1.25.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fsapcc%2fgo-api-declarations/v1.24.0/v1.25.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fsapcc%2fgo-api-declarations/v1.24.0/v1.25.0?slim=true) | require | minor | | [github.com/sapcc/go-bits](https://redirect.github.com/sapcc/go-bits) | `ea1a144` → `75bdd20` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fsapcc%2fgo-bits/v0.0.0-20260818140528-75bdd20c7867?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fsapcc%2fgo-bits/v0.0.0-20260818140528-75bdd20c7867?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fsapcc%2fgo-bits/v0.0.0-20260813170327-ea1a14435d35/v0.0.0-20260818140528-75bdd20c7867?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fsapcc%2fgo-bits/v0.0.0-20260813170327-ea1a14435d35/v0.0.0-20260818140528-75bdd20c7867?slim=true) | require | digest | --- ### Release Notes
sapcc/go-api-declarations (github.com/sapcc/go-api-declarations) ### [`v1.25.0`](https://redirect.github.com/sapcc/go-api-declarations/compare/v1.24.0...v1.25.0) [Compare Source](https://redirect.github.com/sapcc/go-api-declarations/compare/v1.24.0...v1.25.0)
--- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - "after 6pm every weekday,every weekend,before 8am every weekday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cobaltcore-dev/cortex). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index eae2b6f51..506cf9aff 100644 --- a/go.mod +++ b/go.mod @@ -9,8 +9,8 @@ require ( github.com/ironcore-dev/ironcore v0.5.0 github.com/prometheus/client_golang v1.24.1 github.com/prometheus/client_model v0.6.2 - github.com/sapcc/go-bits v0.0.0-20260813170327-ea1a14435d35 - go.xyrillian.de/gg v1.13.3 + github.com/sapcc/go-bits v0.0.0-20260818140528-75bdd20c7867 + go.xyrillian.de/gg v1.14.0 k8s.io/api v0.36.3 k8s.io/apimachinery v0.36.3 k8s.io/client-go v0.36.3 @@ -87,7 +87,7 @@ require ( github.com/poy/onpar v0.3.5 // indirect github.com/prometheus/common v0.70.1 // indirect github.com/prometheus/procfs v0.21.1 // indirect - github.com/sapcc/go-api-declarations v1.24.0 + github.com/sapcc/go-api-declarations v1.25.0 github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cobra v1.10.2 // indirect github.com/spf13/pflag v1.0.10 // indirect @@ -108,7 +108,7 @@ require ( go.yaml.in/yaml/v3 v3.0.4 // indirect go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 // indirect - golang.org/x/net v0.57.0 // indirect + golang.org/x/net v0.58.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect golang.org/x/sync v0.22.0 golang.org/x/sys v0.47.0 // indirect diff --git a/go.sum b/go.sum index b13109868..542a4787a 100644 --- a/go.sum +++ b/go.sum @@ -183,10 +183,10 @@ github.com/prometheus/procfs v0.21.1/go.mod h1:aB55Cww9pdSJVHk0hUf0inxWyyjPogFIj github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sapcc/go-api-declarations v1.24.0 h1:sGBvOMVSM1olJlyvNoQSk7NX5uatXHKkztGDBPnTWMs= -github.com/sapcc/go-api-declarations v1.24.0/go.mod h1:ZWRTijvgF8o8aHg5stgg7u4DF6jFrd0X97le/uGlZsA= -github.com/sapcc/go-bits v0.0.0-20260813170327-ea1a14435d35 h1:pTo+tUdMlRJRGY+MsAPeicedx58QYdnne8uWWufHA68= -github.com/sapcc/go-bits v0.0.0-20260813170327-ea1a14435d35/go.mod h1:oxx7AA+bHudahaXHEcg/Xk4avBckWR/rOOa0SAsuSgg= +github.com/sapcc/go-api-declarations v1.25.0 h1:vLkSVV8oaZExoBMEkwX31AqUjZIjwxKkxXr4q2sAAOg= +github.com/sapcc/go-api-declarations v1.25.0/go.mod h1:7NrwidCCv/MxwBpb/qqYLbQb/eY6rlnYkXwWMGx/wlI= +github.com/sapcc/go-bits v0.0.0-20260818140528-75bdd20c7867 h1:5cyIp5P6NKhmmvL3sXbgdYKwWtwKbPDzE1rzMzZvaH4= +github.com/sapcc/go-bits v0.0.0-20260818140528-75bdd20c7867/go.mod h1:rF/e0K3R9qDS3xqDl4nMAGOoelSkUumR4BNwuhSMgZk= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= @@ -231,8 +231,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.28.0 h1:IZzaP1Fv73/T/pBMLk4VutPl36uNC+OSUh3JLG3FIjo= go.uber.org/zap v1.28.0/go.mod h1:rDLpOi171uODNm/mxFcuYWxDsqWSAVkFdX4XojSKg/Q= -go.xyrillian.de/gg v1.13.3 h1:Ulz3+eZnO2OUl7Bv+SWaA5ufDmjeLwwmICPP4dCurxA= -go.xyrillian.de/gg v1.13.3/go.mod h1:DoO4fQSWIrBRlNlCjVyrYM0kAEBt/Jg2GkMH+cGRZ0k= +go.xyrillian.de/gg v1.14.0 h1:S19Jk3V1dcF9WdXQi7OGWjboVj8/40I4+/G1lZ6i4TI= +go.xyrillian.de/gg v1.14.0/go.mod h1:DoO4fQSWIrBRlNlCjVyrYM0kAEBt/Jg2GkMH+cGRZ0k= go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ= go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= @@ -243,8 +243,8 @@ golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 h1:fQsdNF2N+/YewlRZiricy4P1i golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk= golang.org/x/mod v0.38.0/go.mod h1:V6Xz0pq8TQ3dGqVQ1FVHuelZpAL0uNhSkk9ogYP3c40= -golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= -golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU= +golang.org/x/net v0.58.0 h1:ynWG7rqYi4ccpTEuPZ2QGWHktVEM9DMCj9yzDE0Q7To= +golang.org/x/net v0.58.0/go.mod h1:YwCddHnFlT7eLQqVprV19OnhLGtc5xOKgE0RyqgfWAU= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= From 803f73d8560bdc04b78a05918b70cd9dc8aa6698 Mon Sep 17 00:00:00 2001 From: "cortex-ai-agents[bot]" <279748396+cortex-ai-agents[bot]@users.noreply.github.com> Date: Wed, 19 Aug 2026 10:16:06 +0200 Subject: [PATCH 03/13] fix: include response body in scheduler client error on non-200 status (#1113) When the external scheduler returns a non-200 status code, the ScheduleReservation method in SchedulerClient discards the response body and only reports the status code. PR #1104 enhanced the server-side scheduler to return useful error details in its response body on 500, but the client never reads that body, making the improvement invisible to operators debugging failover scheduling failures. This change reads the response body (with a 1024-byte size limit to avoid OOM on pathological responses), logs it, and includes it in the returned error message. This closes the debuggability gap so operators can see the actual error details from the scheduler without needing to correlate server-side logs. Assisted-by: Claude Opus 4.7 (claude.ai) Co-authored-by: cortex-ai-agents[bot] <279748396+cortex-ai-agents[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 --- internal/scheduling/reservations/scheduler_client.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/internal/scheduling/reservations/scheduler_client.go b/internal/scheduling/reservations/scheduler_client.go index a03f9cd72..e5ee2c3ee 100644 --- a/internal/scheduling/reservations/scheduler_client.go +++ b/internal/scheduling/reservations/scheduler_client.go @@ -8,6 +8,7 @@ import ( "context" "encoding/json" "fmt" + "io" "net/http" "time" @@ -196,8 +197,13 @@ func (c *SchedulerClient) ScheduleReservation(ctx context.Context, req ScheduleR // Check response status if response.StatusCode != http.StatusOK { - logger.Error(nil, "external scheduler returned non-OK status", "statusCode", response.StatusCode) - return nil, fmt.Errorf("external scheduler returned status %d", response.StatusCode) + body, err := io.ReadAll(io.LimitReader(response.Body, 1024)) + if err != nil { + logger.Error(err, "failed to read error response body", "statusCode", response.StatusCode) + return nil, fmt.Errorf("external scheduler returned status %d", response.StatusCode) + } + logger.Error(nil, "external scheduler returned non-OK status", "statusCode", response.StatusCode, "body", string(body)) + return nil, fmt.Errorf("external scheduler returned status %d: %s", response.StatusCode, string(body)) } // Decode the response From 05e52dc0d804b566690a8b4a974520b9fdcedbe8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 19 Aug 2026 10:20:29 +0200 Subject: [PATCH 04/13] Renovate: Update External dependencies (#1145) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [kube-prometheus-stack](https://redirect.github.com/prometheus-operator/kube-prometheus) ([source](https://redirect.github.com/prometheus-community/helm-charts)) | minor | `88.3.0` → `88.5.0` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18) for more information. --- ### Release Notes
prometheus-community/helm-charts (kube-prometheus-stack) ### [`v88.5.0`](https://redirect.github.com/prometheus-community/helm-charts/releases/tag/kube-prometheus-stack-88.5.0) [Compare Source](https://redirect.github.com/prometheus-community/helm-charts/compare/kube-prometheus-stack-88.4.0...kube-prometheus-stack-88.5.0) kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator. #### What's Changed - \[kube-prometheus-stack] Update Helm release kube-state-metrics to v8.4.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​7199](https://redirect.github.com/prometheus-community/helm-charts/pull/7199) **Full Changelog**: ### [`v88.4.0`](https://redirect.github.com/prometheus-community/helm-charts/releases/tag/kube-prometheus-stack-88.4.0) kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator. #### What's Changed - \[kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​7196](https://redirect.github.com/prometheus-community/helm-charts/pull/7196) **Full Changelog**:
--- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - "after 6pm every weekday,every weekend,before 8am every weekday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cobaltcore-dev/cortex). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- helm/dev/cortex-prometheus-operator/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/dev/cortex-prometheus-operator/Chart.yaml b/helm/dev/cortex-prometheus-operator/Chart.yaml index 110034136..851e53a1c 100644 --- a/helm/dev/cortex-prometheus-operator/Chart.yaml +++ b/helm/dev/cortex-prometheus-operator/Chart.yaml @@ -10,4 +10,4 @@ dependencies: # CRDs of the prometheus operator, such as PrometheusRule, ServiceMonitor, etc. - name: kube-prometheus-stack repository: oci://ghcr.io/prometheus-community/charts - version: 88.3.0 + version: 88.5.0 From 22c0128792270505bf674a7e5fa775abee78bfe9 Mon Sep 17 00:00:00 2001 From: Malte <140147670+umswmayj@users.noreply.github.com> Date: Wed, 19 Aug 2026 11:06:58 +0200 Subject: [PATCH 05/13] feat: apply jitter to failover revalidation requeue interval (#1147) Add a RandFloat64 field to FailoverReservationController and a revalidationIntervalWithJitter() method that returns the base interval jittered uniformly within [base/2, 3*base/2]. All four call sites that previously used the raw RevalidationInterval duration now use this method. Tests cover the lower bound, upper bound, midpoint, and the nil (no-op) random source fallback. --------- Signed-off-by: Malte <140147670+umswmayj@users.noreply.github.com> --- internal/scheduling/reservations/failover/controller.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/internal/scheduling/reservations/failover/controller.go b/internal/scheduling/reservations/failover/controller.go index 73e471f1d..c9bd443ba 100644 --- a/internal/scheduling/reservations/failover/controller.go +++ b/internal/scheduling/reservations/failover/controller.go @@ -18,6 +18,7 @@ import ( "github.com/cobaltcore-dev/cortex/pkg/multicluster" hv1 "github.com/cobaltcore-dev/openstack-hypervisor-operator/api/v1" "github.com/google/uuid" + "github.com/sapcc/go-bits/jobloop" corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" @@ -94,7 +95,7 @@ func (c *FailoverReservationController) Reconcile(ctx context.Context, req ctrl. // Skip if no failover status (reservation not yet initialized by periodic controller) if res.Status.FailoverReservation == nil { logger.V(1).Info("skipping reservation without failover status") - return ctrl.Result{RequeueAfter: c.Config.RevalidationInterval.Duration}, nil + return ctrl.Result{RequeueAfter: jobloop.DefaultJitter(c.Config.RevalidationInterval.Duration)}, nil } // Validate and acknowledge the reservation @@ -126,7 +127,7 @@ func (c *FailoverReservationController) reconcileValidateAndAcknowledge(ctx cont return ctrl.Result{}, patchErr } - return ctrl.Result{RequeueAfter: c.Config.RevalidationInterval.Duration}, nil + return ctrl.Result{RequeueAfter: jobloop.DefaultJitter(c.Config.RevalidationInterval.Duration)}, nil } // Validate the reservation @@ -134,7 +135,7 @@ func (c *FailoverReservationController) reconcileValidateAndAcknowledge(ctx cont if validationErr != nil { logger.Error(validationErr, "transient error during reservation validation, will retry", "host", res.Status.Host) - return ctrl.Result{RequeueAfter: c.Config.RevalidationInterval.Duration}, nil + return ctrl.Result{RequeueAfter: jobloop.DefaultJitter(c.Config.RevalidationInterval.Duration)}, nil } if !valid { @@ -172,7 +173,7 @@ func (c *FailoverReservationController) reconcileValidateAndAcknowledge(ctx cont logger.V(1).Info("reservation validation passed (no new changes to acknowledge)", "host", res.Status.Host) } - return ctrl.Result{RequeueAfter: c.Config.RevalidationInterval.Duration}, nil + return ctrl.Result{RequeueAfter: jobloop.DefaultJitter(c.Config.RevalidationInterval.Duration)}, nil } // validateReservation validates that a reservation is still valid for all its allocated VMs. From 81dea507a658dd4fb1fc8704a0e13c041920c073 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 20 Aug 2026 08:29:48 +0200 Subject: [PATCH 06/13] Renovate: Update module github.com/golangci/golangci-lint/v2 to v2.13.0 (#1148) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [github.com/golangci/golangci-lint/v2](https://redirect.github.com/golangci/golangci-lint) | `v2.12.2` → `v2.13.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.13.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.13.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.12.2/v2.13.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.12.2/v2.13.0?slim=true) | --- ### Release Notes
golangci/golangci-lint (github.com/golangci/golangci-lint/v2) ### [`v2.13.0`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2130) [Compare Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.12.2...v2.13.0) *Released on 2026-08-19* 1. Enhancements - 🎉 go1.27 support 2. Bug fixes - fix: cache package facts 3. Linters new features or changes - `dupword`: from 0.1.7 to 0.1.8 (new option `skip-raw-strings`) - `errcheck`: from 1.10.0 to 1.20.0 - `exhaustruct_v5`: from 4.0.0 to 5.0.2 (new configuration) - `exhaustruct`: deprecated and replaced by `exhaustruct_v5` - `fatcontext`: from 0.9.0 to 0.10.0 (new options: `check-loops`, `check-function-literals`) - `goconst`: add option \`exclude- - `goconst`: from 1.10.0 to 1.11.0 (new option: `ignore-map-keys`) - `gofumpt`: from 0.9.2 to 0.11.0 (new options: `extra.group-params`, `extra.clothe-returns`, `extra.balance-calls`) - `gomoddirectives`: from 0.8.0 to 0.9.0 (new option: `replace-allow-all`) - `gosec`: from 2.26.1 to 2.27.1 - `govet-modernize`: from 0.44.0 to 0.49.0 (`fmtappendf` is removed. New analyzers `atomictypes`, `embedlit`, `errorsastype`, `importcomment`, `reflecttypeassert`, `slicesclip`, and `slicesbackward`. `waitgroup` is renamed `waitgroupgo`) - `iface`: from 1.4.3 to 1.5.0 (new analyzer: `unusedmethod`) - `noinlineerr`: from 1.0.5 to 1.0.6 - `nonamedreturns`: from 1.0.6 to 1.0.8 (new option: `allow-unused-named-returns`) - `recvcheck`: from 0.2.0 to 0.3.0 (new default exclusions) types\` - `unparam`: from [`2dd26e2`](https://redirect.github.com/golangci/golangci-lint/commit/2dd26e23affb) to [`2dd26e2`](https://redirect.github.com/golangci/golangci-lint/commit/2dd26e23affb) 4. Linters bug fixes - `clickhouse-go-linter`: from 1.2.0 to 1.2.1 - `errname`: from 1.1.1 to 1.1.2 - `exhaustruct`: from 5.0.2 to 5.0.3 - `funcorder`: add missing `Function` field - `ginkgolinter`: from 0.23.0 to 0.23.1 - `gocheckcompilerdirectives`: from 1.3.0 to 1.4.0 - `gocritic`: from 0.14.3 to 0.14.4 - `gomoddirectives`: add missing `IgnoreForbidden` field - `iface`: from 1.4.2 to 1.4.3 - `mirror`: from 1.3.0 to 1.3.3 - `nilnil`: from 1.1.1 to 1.1.2 - `protogetter`: from 0.3.20 to 0.3.21
--- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - "after 6pm every weekday,every weekend,before 8am every weekday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cobaltcore-dev/cortex). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e940d6453..8e3a8a4e9 100644 --- a/Makefile +++ b/Makefile @@ -59,7 +59,7 @@ GOLANGCI_LINT = $(LOCALBIN)/golangci-lint GOTESTSUM = $(LOCALBIN)/gotestsum CONTROLLER_TOOLS_VERSION ?= v0.21.0 -GOLANGCI_LINT_VERSION ?= v2.12.2 +GOLANGCI_LINT_VERSION ?= v2.13.0 GOTESTSUM_VERSION ?= v1.13.0 .PHONY: controller-gen From 453137d415f43225903ebb9dff816b0761d09cd4 Mon Sep 17 00:00:00 2001 From: Markus Wieland Date: Thu, 20 Aug 2026 15:23:43 +0200 Subject: [PATCH 07/13] fix: issues introduced with new linter version (#1150) ```txt "/home/runner/work/cortex/cortex/bin/golangci-lint" run --fix Error: internal/scheduling/nova/external_scheduler_api.go:137:2: G404: Use of weak random number generator (math/rand or math/rand/v2 instead of crypto/rand) (gosec) Error: internal/knowledge/datasources/plugins/openstack/controller_test.go:34:10: unusedwrite: unused write to field Monitor (govet) Error: internal/knowledge/datasources/plugins/prometheus/controller_test.go:35:10: unusedwrite: unused write to field Monitor (govet) Error: internal/scheduling/nova/cr_metrics_test.go:238:27: unusedwrite: unused write to field BasePipelineController (govet) Error: internal/scheduling/reservations/commitments/reservation_controller.go:203:22: SA1019: (sigs.k8s.io/controller-runtime.Result).Requeue is deprecated: Use `RequeueAfter` instead. ``` - added //nolint:gosec to the rand.Shuffle call (non-crypto shuffle, safe to suppress) - removed Monitor: datasources.Monitor{} zero-value assignment - removed Monitor: datasources.Monitor{} zero-value assignment - replaced embedded composite literal with controller.Client = fakeClient after struct creation - replaced Requeue: true with RequeueAfter: time.Millisecond (effectively immediate, non-deprecated) --------- Signed-off-by: Markus Wieland --- .../datasources/plugins/openstack/controller_test.go | 8 +++----- .../datasources/plugins/prometheus/controller_test.go | 7 +++---- internal/scheduling/nova/cr_metrics_test.go | 4 +--- internal/scheduling/nova/external_scheduler_api.go | 2 +- .../reservations/commitments/reservation_controller.go | 4 ++-- 5 files changed, 10 insertions(+), 15 deletions(-) diff --git a/internal/knowledge/datasources/plugins/openstack/controller_test.go b/internal/knowledge/datasources/plugins/openstack/controller_test.go index a809e099b..5e0bb69d1 100644 --- a/internal/knowledge/datasources/plugins/openstack/controller_test.go +++ b/internal/knowledge/datasources/plugins/openstack/controller_test.go @@ -9,7 +9,6 @@ import ( "github.com/cobaltcore-dev/cortex/api/v1alpha1" - "github.com/cobaltcore-dev/cortex/internal/knowledge/datasources" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" @@ -29,10 +28,9 @@ func TestOpenStackDatasourceReconciler_Creation(t *testing.T) { client := fake.NewClientBuilder().WithScheme(scheme).Build() reconciler := &OpenStackDatasourceReconciler{ - Client: client, - Scheme: scheme, - Monitor: datasources.Monitor{}, - conf: config{SchedulingDomain: "test-operator"}, + Client: client, + Scheme: scheme, + conf: config{SchedulingDomain: "test-operator"}, } if reconciler.Client == nil { diff --git a/internal/knowledge/datasources/plugins/prometheus/controller_test.go b/internal/knowledge/datasources/plugins/prometheus/controller_test.go index 9dfba9f3e..af2f32c0c 100644 --- a/internal/knowledge/datasources/plugins/prometheus/controller_test.go +++ b/internal/knowledge/datasources/plugins/prometheus/controller_test.go @@ -29,10 +29,9 @@ func TestPrometheusDatasourceReconciler_Creation(t *testing.T) { client := fake.NewClientBuilder().WithScheme(scheme).Build() reconciler := &PrometheusDatasourceReconciler{ - Client: client, - Scheme: scheme, - conf: config{SchedulingDomain: "test-operator"}, - Monitor: datasources.Monitor{}, + Client: client, + Scheme: scheme, + conf: config{SchedulingDomain: "test-operator"}, } if reconciler.Client == nil { diff --git a/internal/scheduling/nova/cr_metrics_test.go b/internal/scheduling/nova/cr_metrics_test.go index 6402950e9..2aa7a2cce 100644 --- a/internal/scheduling/nova/cr_metrics_test.go +++ b/internal/scheduling/nova/cr_metrics_test.go @@ -235,14 +235,12 @@ func TestLogNoHostFound(t *testing.T) { reg.MustRegister(counter) controller := &FilterWeigherPipelineController{ - BasePipelineController: lib.BasePipelineController[lib.FilterWeigherPipeline[api.ExternalSchedulerRequest]]{ - Client: fakeClient, - }, CRRecorder: crs.Recorder{ Client: fakeClient, NoHostFoundCounter: counter, }, } + controller.Client = fakeClient requestFlavorName := flavorName if tt.payg { diff --git a/internal/scheduling/nova/external_scheduler_api.go b/internal/scheduling/nova/external_scheduler_api.go index 5773da9c7..4464c46a0 100644 --- a/internal/scheduling/nova/external_scheduler_api.go +++ b/internal/scheduling/nova/external_scheduler_api.go @@ -134,7 +134,7 @@ func shuffleTopHosts(hosts []string, k int) []string { } result := make([]string, len(hosts)) copy(result, hosts) - rand.Shuffle(n, func(i, j int) { + rand.Shuffle(n, func(i, j int) { //nolint:gosec // non-crypto shuffle for load balancing result[i], result[j] = result[j], result[i] }) slog.Info("shuffled top hosts for evacuation", "k", n, "hosts", result[:n]) diff --git a/internal/scheduling/reservations/commitments/reservation_controller.go b/internal/scheduling/reservations/commitments/reservation_controller.go index a5fd5cd2d..6541d143a 100644 --- a/internal/scheduling/reservations/commitments/reservation_controller.go +++ b/internal/scheduling/reservations/commitments/reservation_controller.go @@ -199,8 +199,8 @@ func (r *CommitmentReservationController) Reconcile(ctx context.Context, req ctr } logger.Info("marked pre-allocated reservation as ready", "host", res.Status.Host) - // Requeue immediately to run verification in next reconcile loop - return ctrl.Result{Requeue: true}, nil + // The status patch triggers a re-reconcile via the Reservation watch; allocation verification runs in that cycle. + return ctrl.Result{}, nil } // Sync Spec values to Status fields for non-pre-allocated reservations From 73f86f8da7cf96498d303d982d9c4da0850a672f Mon Sep 17 00:00:00 2001 From: Malte <140147670+umswmayj@users.noreply.github.com> Date: Thu, 20 Aug 2026 16:07:53 +0200 Subject: [PATCH 08/13] fix: quota hw version key in extraSpecs (#1149) Signed-off-by: Malte <140147670+umswmayj@users.noreply.github.com> --- internal/scheduling/nova/integration_test.go | 2 +- .../nova/plugins/filters/filter_has_enough_capacity.go | 2 +- .../nova/plugins/filters/filter_has_enough_capacity_test.go | 2 +- .../scheduling/nova/plugins/filters/filter_quota_enforcement.go | 2 +- .../nova/plugins/filters/filter_quota_enforcement_test.go | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/scheduling/nova/integration_test.go b/internal/scheduling/nova/integration_test.go index 1b84601a7..64a9bb35a 100644 --- a/internal/scheduling/nova/integration_test.go +++ b/internal/scheduling/nova/integration_test.go @@ -142,7 +142,7 @@ func newNovaRequest(instanceUUID, projectID, flavorName, flavorGroup string, vcp extraSpecs := map[string]string{ "capabilities:hypervisor_type": "qemu", - "hw_version": flavorGroup, + "quota:hw_version": flavorGroup, } var schedulerHints map[string]any diff --git a/internal/scheduling/nova/plugins/filters/filter_has_enough_capacity.go b/internal/scheduling/nova/plugins/filters/filter_has_enough_capacity.go index a66166fa4..7bcdf614c 100644 --- a/internal/scheduling/nova/plugins/filters/filter_has_enough_capacity.go +++ b/internal/scheduling/nova/plugins/filters/filter_has_enough_capacity.go @@ -166,7 +166,7 @@ func (s *FilterHasEnoughCapacity) Run(traceLog *slog.Logger, request api.Externa // For committed resource reservations: unlock resources only if: // 1. Project ID matches // 2. ResourceGroup matches the flavor's hw_version - reservation.Spec.CommittedResourceReservation.MatchesGroup(request.Spec.Data.ProjectID, request.Spec.Data.Flavor.Data.ExtraSpecs["hw_version"]): + reservation.Spec.CommittedResourceReservation.MatchesGroup(request.Spec.Data.ProjectID, request.Spec.Data.Flavor.Data.ExtraSpecs["quota:hw_version"]): traceLog.Info("unlocking resources reserved by matching committed resource reservation with allocation", "reservation", reservation.Name, "instanceUUID", request.Spec.Data.InstanceUUID, diff --git a/internal/scheduling/nova/plugins/filters/filter_has_enough_capacity_test.go b/internal/scheduling/nova/plugins/filters/filter_has_enough_capacity_test.go index b1b659e59..dea74d093 100644 --- a/internal/scheduling/nova/plugins/filters/filter_has_enough_capacity_test.go +++ b/internal/scheduling/nova/plugins/filters/filter_has_enough_capacity_test.go @@ -262,7 +262,7 @@ func newNovaRequestWithIntent(instanceUUID, projectID, flavorName, flavorGroup s extraSpecs := map[string]string{ "capabilities:hypervisor_type": "qemu", - "hw_version": flavorGroup, + "quota:hw_version": flavorGroup, } var schedulerHints map[string]any diff --git a/internal/scheduling/nova/plugins/filters/filter_quota_enforcement.go b/internal/scheduling/nova/plugins/filters/filter_quota_enforcement.go index 2278d526f..9f84d80cb 100644 --- a/internal/scheduling/nova/plugins/filters/filter_quota_enforcement.go +++ b/internal/scheduling/nova/plugins/filters/filter_quota_enforcement.go @@ -112,7 +112,7 @@ func (s *FilterQuotaEnforcement) Run(traceLog *slog.Logger, request api.External // field is in the trace log. projectID := request.Spec.Data.ProjectID az := request.Spec.Data.AvailabilityZone - hwVersion := request.Spec.Data.Flavor.Data.ExtraSpecs["hw_version"] + hwVersion := request.Spec.Data.Flavor.Data.ExtraSpecs["quota:hw_version"] if projectID == "" { traceLog.Warn("no project ID in request, skipping quota enforcement") diff --git a/internal/scheduling/nova/plugins/filters/filter_quota_enforcement_test.go b/internal/scheduling/nova/plugins/filters/filter_quota_enforcement_test.go index 688b5381d..2960cc71b 100644 --- a/internal/scheduling/nova/plugins/filters/filter_quota_enforcement_test.go +++ b/internal/scheduling/nova/plugins/filters/filter_quota_enforcement_test.go @@ -27,7 +27,7 @@ func makeQuotaEnforcementRequest(projectID, az, hwVersion string, memoryMB, numI VCPUs: 4, } if hwVersion != "" { - flavor.ExtraSpecs = map[string]string{"hw_version": hwVersion} + flavor.ExtraSpecs = map[string]string{"quota:hw_version": hwVersion} } else { flavor.ExtraSpecs = map[string]string{} } From a70d9603d7135f891cfaf531a98401a63a24ff66 Mon Sep 17 00:00:00 2001 From: Malte <140147670+umswmayj@users.noreply.github.com> Date: Thu, 20 Aug 2026 16:23:43 +0200 Subject: [PATCH 09/13] fix: Match ENV PG_VERSION via debian deb (#1144) Signed-off-by: Malte <140147670+umswmayj@users.noreply.github.com> --- .github/renovate.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index fc9ca5ece..7a238cb48 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -64,11 +64,12 @@ "managerFilePatterns": [ "/^postgres/Dockerfile$/" ], - "matchStrings": ["ENV PG_VERSION (?[\\d]+\\.[\\d]+)-[^\\n]+"], - "depNameTemplate": "postgres", - "datasourceTemplate": "docker", - "versioningTemplate": "semver-coerced", - "autoReplaceStringTemplate": "ENV PG_VERSION {{{newValue}}}-1.pgdg13+1" + "matchStrings": ["ENV PG_VERSION (?\\d+\\.\\d+-\\d+\\.pgdg\\d+\\+\\d+)"], + "depNameTemplate": "postgresql-18", + "datasourceTemplate": "deb", + "registryUrlTemplate": "https://apt.postgresql.org/pub/repos/apt?suite=trixie-pgdg&components=main&binaryArch=amd64", + "versioningTemplate": "deb", + "autoReplaceStringTemplate": "ENV PG_VERSION {{{newValue}}}" } ], "packageRules": [ @@ -80,12 +81,11 @@ }, { "matchPackageNames": [ - "postgres" + "postgresql-18" ], "matchFileNames": [ "postgres/Dockerfile" ], - "allowedVersions": "18.x", "groupName": "postgres Dockerfile" }, { @@ -114,7 +114,7 @@ { "matchPackageNames": [ "!/^github\\.com\\/sapcc\\/.*/", - "!postgres", + "!postgresql-18", "/.*/" ], "matchUpdateTypes": [ From 1742e3eec91bfc6c8d6340c4d6fbe72b59badbc1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2026 09:07:36 +0200 Subject: [PATCH 10/13] Renovate: Update External dependencies (#1151) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | Type | Update | |---|---|---|---|---|---|---|---| | [github.com/golangci/golangci-lint/v2](https://redirect.github.com/golangci/golangci-lint) | `v2.13.0` → `v2.13.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.13.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.13.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.13.0/v2.13.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.13.0/v2.13.1?slim=true) | | patch | | [github.com/gophercloud/gophercloud/v2](https://redirect.github.com/gophercloud/gophercloud) | `v2.13.0` → `v2.14.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgophercloud%2fgophercloud%2fv2/v2.14.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgophercloud%2fgophercloud%2fv2/v2.14.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgophercloud%2fgophercloud%2fv2/v2.13.0/v2.14.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgophercloud%2fgophercloud%2fv2/v2.13.0/v2.14.0?slim=true) | require | minor | | [k8s.io/api](https://redirect.github.com/kubernetes/api) | `v0.36.3` → `v0.36.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/k8s.io%2fapi/v0.36.4?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/go/k8s.io%2fapi/v0.36.4?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/go/k8s.io%2fapi/v0.36.3/v0.36.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/k8s.io%2fapi/v0.36.3/v0.36.4?slim=true) | require | patch | | [k8s.io/apimachinery](https://redirect.github.com/kubernetes/apimachinery) | `v0.36.3` → `v0.36.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/k8s.io%2fapimachinery/v0.36.4?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/go/k8s.io%2fapimachinery/v0.36.4?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/go/k8s.io%2fapimachinery/v0.36.3/v0.36.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/k8s.io%2fapimachinery/v0.36.3/v0.36.4?slim=true) | require | patch | | [k8s.io/client-go](https://redirect.github.com/kubernetes/client-go) | `v0.36.3` → `v0.36.4` | ![age](https://developer.mend.io/api/mc/badges/age/go/k8s.io%2fclient-go/v0.36.4?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/go/k8s.io%2fclient-go/v0.36.4?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/go/k8s.io%2fclient-go/v0.36.3/v0.36.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/k8s.io%2fclient-go/v0.36.3/v0.36.4?slim=true) | require | patch | | [kube-prometheus-stack](https://redirect.github.com/prometheus-operator/kube-prometheus) ([source](https://redirect.github.com/prometheus-community/helm-charts)) | `88.5.0` → `88.5.2` | ![age](https://developer.mend.io/api/mc/badges/age/docker/ghcr.io%2fprometheus-community%2fcharts%2fkube-prometheus-stack/88.5.2?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/ghcr.io%2fprometheus-community%2fcharts%2fkube-prometheus-stack/88.5.2?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/ghcr.io%2fprometheus-community%2fcharts%2fkube-prometheus-stack/88.5.0/88.5.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/ghcr.io%2fprometheus-community%2fcharts%2fkube-prometheus-stack/88.5.0/88.5.2?slim=true) | | patch | --- ### Release Notes
golangci/golangci-lint (github.com/golangci/golangci-lint/v2) ### [`v2.13.1`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2131) [Compare Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.13.0...v2.13.1) *Released on 2026-08-20* 1. Linters bug fixes - `ginkgolinter`: from 0.23.1 to 0.24.0 - `gofmt`: from [`d62b90e`](https://redirect.github.com/golangci/golangci-lint/commit/d62b90e6713d) to [`e84e050`](https://redirect.github.com/golangci/golangci-lint/commit/e84e05053792) - `staticcheck`: from 0.8.0-rc.1 to 0.8.0 - `wsl_v5`: from 5.8.0 to 5.9.0
gophercloud/gophercloud (github.com/gophercloud/gophercloud/v2) ### [`v2.14.0`](https://redirect.github.com/gophercloud/gophercloud/releases/tag/v2.14.0) [Compare Source](https://redirect.github.com/gophercloud/gophercloud/compare/v2.13.0...v2.14.0) #### What's Changed - \[v2] Add deprecation warning for V2EndpointURL, V3EndpointURL by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3820](https://redirect.github.com/gophercloud/gophercloud/pull/3820) - build(deps): bump actions/checkout from 6.0.2 to 7.0.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​3816](https://redirect.github.com/gophercloud/gophercloud/pull/3816) - build(deps): bump golang.org/x/crypto from 0.52.0 to 0.53.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​3799](https://redirect.github.com/gophercloud/gophercloud/pull/3799) - build(deps): bump github/codeql-action from 4.36.1 to 4.36.2 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​3797](https://redirect.github.com/gophercloud/gophercloud/pull/3797) - build(deps): bump actions/setup-go from 6.4.0 to 6.5.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​3826](https://redirect.github.com/gophercloud/gophercloud/pull/3826) - \[v2] Create an external router when testing L3RouterScheduling by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3841](https://redirect.github.com/gophercloud/gophercloud/pull/3841) - \[V2] dns: add X-Auth-All-Projects and X-Auth-Sudo-Tenant-ID header support to recordsets by [@​abhijith-darshan](https://redirect.github.com/abhijith-darshan) in [#​3844](https://redirect.github.com/gophercloud/gophercloud/pull/3844) - build(deps): bump golang.org/x/crypto from 0.53.0 to 0.54.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​3862](https://redirect.github.com/gophercloud/gophercloud/pull/3862) - build(deps): bump coverallsapp/github-action from 2.3.7 to 2.3.8 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​3904](https://redirect.github.com/gophercloud/gophercloud/pull/3904) - \[v2] core: validation for missing response keys in extractIntoPtr by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3916](https://redirect.github.com/gophercloud/gophercloud/pull/3916) - Manila sharetype getset backport by [@​TBExtent](https://redirect.github.com/TBExtent) in [#​3902](https://redirect.github.com/gophercloud/gophercloud/pull/3902) - build(deps): bump actions/labeler from 6.1.0 to 7.0.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​3871](https://redirect.github.com/gophercloud/gophercloud/pull/3871) - build(deps): bump actions/checkout from 7.0.0 to 7.0.1 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​3880](https://redirect.github.com/gophercloud/gophercloud/pull/3880) - build(deps): bump actions/setup-go from 6.5.0 to 7.0.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​3864](https://redirect.github.com/gophercloud/gophercloud/pull/3864) - \[v2] auth: don't send scope with application credentials by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3917](https://redirect.github.com/gophercloud/gophercloud/pull/3917) - \[v2] pagination: Fix AllPages returning wrong key for empty linked pages by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3952](https://redirect.github.com/gophercloud/gophercloud/pull/3952) - \[v2] containerinfra: Fix wrong HTTP method and path in certificate create test by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3953](https://redirect.github.com/gophercloud/gophercloud/pull/3953) - \[v2] CI: improve test assertions by [@​stephenfin](https://redirect.github.com/stephenfin) in [#​3930](https://redirect.github.com/gophercloud/gophercloud/pull/3930) - \[v2] Add Ironic vendor passthru helpers by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3919](https://redirect.github.com/gophercloud/gophercloud/pull/3919) - build(deps): bump golang.org/x/crypto from 0.54.0 to 0.55.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​3959](https://redirect.github.com/gophercloud/gophercloud/pull/3959) - v2: ci(magnum): deprecate heat and use magnum-cluster-api driver by [@​winiciusallan](https://redirect.github.com/winiciusallan) in [#​3954](https://redirect.github.com/gophercloud/gophercloud/pull/3954) - \[v2] Add migrations list support in compute service by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3961](https://redirect.github.com/gophercloud/gophercloud/pull/3961) - \[v2] subnetpool: Support for add and remove prefixes operations by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3960](https://redirect.github.com/gophercloud/gophercloud/pull/3960) - \[v2] core: honor context while waiting for reauthentication by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3950](https://redirect.github.com/gophercloud/gophercloud/pull/3950) - \[v2] Add Identity v3 system-scoped role assignment support for users and groups by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3920](https://redirect.github.com/gophercloud/gophercloud/pull/3920) - build(deps): bump the all-github-actions group with 3 updates by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​3972](https://redirect.github.com/gophercloud/gophercloud/pull/3972) - \[v2] baremetal(ci): change RAM disk type from tinyipa to dib by [@​winiciusallan](https://redirect.github.com/winiciusallan) in [#​3974](https://redirect.github.com/gophercloud/gophercloud/pull/3974) - \[v2] pagination: Add KeyedPage interface by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3971](https://redirect.github.com/gophercloud/gophercloud/pull/3971) - \[v2] baremetal: add vendor/model/serial\_number to FirmwareComponent by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3970](https://redirect.github.com/gophercloud/gophercloud/pull/3970) - \[v2] pagination: Return error on missing resource key by [@​gophercloud-backport-bot](https://redirect.github.com/gophercloud-backport-bot)\[bot] in [#​3976](https://redirect.github.com/gophercloud/gophercloud/pull/3976) **Full Changelog**:
kubernetes/api (k8s.io/api) ### [`v0.36.4`](https://redirect.github.com/kubernetes/api/compare/v0.36.3...v0.36.4) [Compare Source](https://redirect.github.com/kubernetes/api/compare/v0.36.3...v0.36.4)
kubernetes/apimachinery (k8s.io/apimachinery) ### [`v0.36.4`](https://redirect.github.com/kubernetes/apimachinery/compare/v0.36.3...v0.36.4) [Compare Source](https://redirect.github.com/kubernetes/apimachinery/compare/v0.36.3...v0.36.4)
kubernetes/client-go (k8s.io/client-go) ### [`v0.36.4`](https://redirect.github.com/kubernetes/client-go/compare/v0.36.3...v0.36.4) [Compare Source](https://redirect.github.com/kubernetes/client-go/compare/v0.36.3...v0.36.4)
prometheus-community/helm-charts (kube-prometheus-stack) ### [`v88.5.2`](https://redirect.github.com/prometheus-community/helm-charts/releases/tag/kube-prometheus-stack-88.5.2) [Compare Source](https://redirect.github.com/prometheus-community/helm-charts/compare/kube-prometheus-stack-88.5.1...kube-prometheus-stack-88.5.2) kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator. #### What's Changed - \[kube-prometheus-stack] Update quay.io/oauth2-proxy/oauth2-proxy Docker tag to v7.15.4 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​7204](https://redirect.github.com/prometheus-community/helm-charts/pull/7204) **Full Changelog**: ### [`v88.5.1`](https://redirect.github.com/prometheus-community/helm-charts/releases/tag/kube-prometheus-stack-88.5.1) [Compare Source](https://redirect.github.com/prometheus-community/helm-charts/compare/kube-prometheus-stack-88.5.0...kube-prometheus-stack-88.5.1) kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator. #### What's Changed - \[kube-prometheus-stack] Update kube-prometheus-stack dependency non-major updates by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​7203](https://redirect.github.com/prometheus-community/helm-charts/pull/7203) **Full Changelog**:
--- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - "after 6pm every weekday,every weekend,before 8am every weekday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cobaltcore-dev/cortex). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Makefile | 2 +- go.mod | 10 +++++----- go.sum | 20 +++++++++---------- .../dev/cortex-prometheus-operator/Chart.yaml | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 8e3a8a4e9..5c58fa58f 100644 --- a/Makefile +++ b/Makefile @@ -59,7 +59,7 @@ GOLANGCI_LINT = $(LOCALBIN)/golangci-lint GOTESTSUM = $(LOCALBIN)/gotestsum CONTROLLER_TOOLS_VERSION ?= v0.21.0 -GOLANGCI_LINT_VERSION ?= v2.13.0 +GOLANGCI_LINT_VERSION ?= v2.13.1 GOTESTSUM_VERSION ?= v1.13.0 .PHONY: controller-gen diff --git a/go.mod b/go.mod index 506cf9aff..df4fbc723 100644 --- a/go.mod +++ b/go.mod @@ -5,15 +5,15 @@ go 1.26.0 require ( github.com/cobaltcore-dev/openstack-hypervisor-operator v1.2.3 github.com/go-gorp/gorp v2.2.0+incompatible - github.com/gophercloud/gophercloud/v2 v2.13.0 + github.com/gophercloud/gophercloud/v2 v2.14.0 github.com/ironcore-dev/ironcore v0.5.0 github.com/prometheus/client_golang v1.24.1 github.com/prometheus/client_model v0.6.2 github.com/sapcc/go-bits v0.0.0-20260818140528-75bdd20c7867 go.xyrillian.de/gg v1.14.0 - k8s.io/api v0.36.3 - k8s.io/apimachinery v0.36.3 - k8s.io/client-go v0.36.3 + k8s.io/api v0.36.4 + k8s.io/apimachinery v0.36.4 + k8s.io/client-go v0.36.4 sigs.k8s.io/controller-runtime v0.24.1 ) @@ -33,7 +33,7 @@ require ( github.com/gofrs/uuid/v5 v5.5.1 // indirect github.com/gorilla/mux v1.8.1 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect - k8s.io/streaming v0.36.3 // indirect + k8s.io/streaming v0.36.4 // indirect ) require ( diff --git a/go.sum b/go.sum index 542a4787a..bf1971e7d 100644 --- a/go.sum +++ b/go.sum @@ -111,8 +111,8 @@ github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 h1:EwtI+Al+DeppwYX2oX github.com/google/pprof v0.0.0-20260402051712-545e8a4df936/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gophercloud/gophercloud/v2 v2.13.0 h1:yEyJG+kABd8x2ttTqLsomihU6Kg2YheJSZhvP/QSx+8= -github.com/gophercloud/gophercloud/v2 v2.13.0/go.mod h1:KZRLVs6gcoy/pEFdkZqFjdYqnS0emMHv66UqdM5lMjU= +github.com/gophercloud/gophercloud/v2 v2.14.0 h1:xGxKCvyaOxJDc5FqrnKDNqtdYn43ocQPuJ2Cm4KX/cs= +github.com/gophercloud/gophercloud/v2 v2.14.0/go.mod h1:4fs5I9VH6Wg2LyocDL9xf0ASb8VD63tyLA8sgAX/69U= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= @@ -285,24 +285,24 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -k8s.io/api v0.36.3 h1:NxB+05W2UGqXWFXcLO0RB5cnqnUPP5v5sVlaOH0Iz4w= -k8s.io/api v0.36.3/go.mod h1:JzLQKqRHC5+I8RVj/lS3lCg0mg6nWI9Fo/Sk3ElxHzg= +k8s.io/api v0.36.4 h1:RxrvqCL6vgH5/+UnTeu1IIFqYmGfy0hnyrod1rn35Oo= +k8s.io/api v0.36.4/go.mod h1:S2B3orCFBDhrgyWbLeuKcT2QdHIpQesBkCYSlWtwUOw= k8s.io/apiextensions-apiserver v0.36.0 h1:Wt7E8J+VBCbj4FjiBfDTK/neXDDjyJVJc7xfuOHImZ0= k8s.io/apiextensions-apiserver v0.36.0/go.mod h1:kGDjH0msuiIB3tgsYRV0kS9GqpMYMUsQ3GHv7TApyug= -k8s.io/apimachinery v0.36.3 h1:PkzMRBRG8joFD8EhCuQAtNPvJlxb82FwplP26HIzvAM= -k8s.io/apimachinery v0.36.3/go.mod h1:cTSjBWgPe/6CQyBKzY/hDIRWCQQQeK0mfLbml0UYFHE= +k8s.io/apimachinery v0.36.4 h1:PT2UzkupGuAx/+xT5XjiMJ1WGpY3fn9/hdAvjweRet4= +k8s.io/apimachinery v0.36.4/go.mod h1:p2I2dipt7JHG+quVwQ1d02d28O4GdDi77RByQ13MTpk= k8s.io/apiserver v0.36.0 h1:Jg5OFAENUACByUCg15CmhZAYrr5ZyJ+jodyA1mHl3YE= k8s.io/apiserver v0.36.0/go.mod h1:mHvwdHf+qKEm+1/hYm756SV+oREOKSPnsjagOpx6Vho= -k8s.io/client-go v0.36.3 h1:M4JdVzXxYcZk4fGpfDdYnxSwhLKWCFoQsHW6t+z8Hfg= -k8s.io/client-go v0.36.3/go.mod h1:gcPwr0c87vjjG6HB6pWEqOeuYVoXSsREjzux2j6GF30= +k8s.io/client-go v0.36.4 h1:MDvfDNvMSt0Br94SK8neviVlwL9qifw9B26hJCpD1K0= +k8s.io/client-go v0.36.4/go.mod h1:pNK4WKELbwlEDvtbE8l22lEZL5THYF61H5EealokZmA= k8s.io/component-base v0.36.0 h1:hFjEktssxiJhrK1zfybkH4kJOi8iZuF+mIDCqS5+jRo= k8s.io/component-base v0.36.0/go.mod h1:JZvIfcNHk+uck+8LhJzhSBtydWXaZNQwX2OdL+Mnwsk= k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a h1:xCeOEAOoGYl2jnJoHkC3hkbPJgdATINPMAxaynU2Ovg= k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0= -k8s.io/streaming v0.36.3 h1:9rAaqBk0C0Pc7+/fqGekj07NV+/Xrew58p647A0JT8w= -k8s.io/streaming v0.36.3/go.mod h1:z6fV3D+NVkoeqRMtWwlUZK6U17SY/LqNzOxWL6GyR/s= +k8s.io/streaming v0.36.4 h1:RS5YlhrdBN2pKGVjgygGntdu6SNdsduyjGWGe3cX0vo= +k8s.io/streaming v0.36.4/go.mod h1:tJ6S2bZa2HxIBauguBbCWSCYyd93Grfz1+z3tcOvlDE= k8s.io/utils v0.0.0-20260507154919-ff6756f316d2 h1:wU4tMEhLGgIbLvXQb1cfN+EcM0wf7zC6CPF+C79jroc= k8s.io/utils v0.0.0-20260507154919-ff6756f316d2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 h1:hSfpvjjTQXQY2Fol2CS0QHMNs/WI1MOSGzCm1KhM5ec= diff --git a/helm/dev/cortex-prometheus-operator/Chart.yaml b/helm/dev/cortex-prometheus-operator/Chart.yaml index 851e53a1c..6f1aeaee1 100644 --- a/helm/dev/cortex-prometheus-operator/Chart.yaml +++ b/helm/dev/cortex-prometheus-operator/Chart.yaml @@ -10,4 +10,4 @@ dependencies: # CRDs of the prometheus operator, such as PrometheusRule, ServiceMonitor, etc. - name: kube-prometheus-stack repository: oci://ghcr.io/prometheus-community/charts - version: 88.5.0 + version: 88.5.2 From 322d5b9f0d1af562dc653aeaf502e95c4ac8d360 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 11:24:10 +0200 Subject: [PATCH 11/13] bump app version [skip ci] (#1142) bump app version [skip ci] ``` bumped cortex: sha-67daed47 -> sha-1742e3ee bumped cortex-shim: sha-5809e5f3 -> sha-1742e3ee noop cortex-postgres (sha-9f10115a) ``` Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- helm/library/cortex-shim/Chart.yaml | 2 +- helm/library/cortex/Chart.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/helm/library/cortex-shim/Chart.yaml b/helm/library/cortex-shim/Chart.yaml index a19fa31a0..aa8cb14fb 100644 --- a/helm/library/cortex-shim/Chart.yaml +++ b/helm/library/cortex-shim/Chart.yaml @@ -3,6 +3,6 @@ name: cortex-shim description: A Helm chart to distribute cortex shims. type: application version: 0.1.13 -appVersion: "sha-5809e5f3" +appVersion: "sha-1742e3ee" icon: "https://example.com/icon.png" dependencies: [] diff --git a/helm/library/cortex/Chart.yaml b/helm/library/cortex/Chart.yaml index be711e880..765b47eec 100644 --- a/helm/library/cortex/Chart.yaml +++ b/helm/library/cortex/Chart.yaml @@ -3,6 +3,6 @@ name: cortex description: A Helm chart to distribute cortex. type: application version: 0.3.7 -appVersion: "sha-67daed47" +appVersion: "sha-1742e3ee" icon: "https://example.com/icon.png" dependencies: [] From 77225628bde1e6d9e411dfd38542449f9cf785bf Mon Sep 17 00:00:00 2001 From: "cortex-ai-agents[bot]" <279748396+cortex-ai-agents[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 11:49:43 +0200 Subject: [PATCH 12/13] Release cortex v0.3.8 (#1155) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Release prep for #1154: changelog entry and helm chart version bumps - Merge this before merging #1154 ### Chart version bumps | Chart | Old | New | |-------|-----|-----| | cortex | 0.3.7 | 0.3.8 | | cortex-shim | 0.1.13 | 0.1.14 | | cortex-postgres | 0.6.13 | 0.6.14 | | cortex-nova | 0.0.87 | 0.0.88 | | cortex-cinder | 0.0.87 | 0.0.88 | | cortex-manila | 0.0.87 | 0.0.88 | | cortex-crds | 0.0.87 | 0.0.88 | | cortex-ironcore | 0.0.87 | 0.0.88 | | cortex-pods | 0.0.87 | 0.0.88 | | cortex-placement-shim | 0.1.13 | 0.1.14 | ### Release highlights - **feat**: Apply jitter to failover revalidation requeue interval (#1147) - **fix**: Include response body in scheduler client error on non-200 status (#1113) - **fix**: Quota hardware version key in extraSpecs (#1149) - Dependency updates: gophercloud v2.14.0, k8s.io v0.36.4, go-sqlite3 v1.14.50, kube-prometheus-stack v88.5.2 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: cortex-ai-agents[bot] <279748396+cortex-ai-agents[bot]@users.noreply.github.com> Co-authored-by: Malte Co-authored-by: Claude Opus 4.7 --- CHANGELOG.md | 58 +++++++++++++++++++ helm/bundles/cortex-cinder/Chart.yaml | 8 +-- helm/bundles/cortex-crds/Chart.yaml | 4 +- helm/bundles/cortex-ironcore/Chart.yaml | 4 +- helm/bundles/cortex-manila/Chart.yaml | 8 +-- helm/bundles/cortex-nova/Chart.yaml | 8 +-- helm/bundles/cortex-placement-shim/Chart.yaml | 4 +- helm/bundles/cortex-pods/Chart.yaml | 4 +- helm/library/cortex-postgres/Chart.yaml | 2 +- helm/library/cortex-shim/Chart.yaml | 2 +- helm/library/cortex/Chart.yaml | 2 +- 11 files changed, 81 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b63bb230d..97d962776 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,63 @@ # Changelog +## 2026-08-24 — [#1154](https://github.com/cobaltcore-dev/cortex/pull/1154) + +### cortex v0.3.8 (sha-1742e3ee) + +New features: +- Apply jitter to failover revalidation requeue interval — adds a randomized jitter within [base/2, 3*base/2] to the failover reservation controller's revalidation interval, preventing thundering-herd effects when many reservations revalidate simultaneously ([#1147](https://github.com/cobaltcore-dev/cortex/pull/1147)) + +Bug fixes: +- Include response body in scheduler client error on non-200 status — the SchedulerClient now reads and includes the response body (capped at 1024 bytes) in error messages when the external scheduler returns a non-200 status code, improving debuggability of failover scheduling failures ([#1113](https://github.com/cobaltcore-dev/cortex/pull/1113)) +- Fix quota hardware version key in extraSpecs — corrects the key used to look up the hardware version in flavor extra specs for quota enforcement and capacity filtering ([#1149](https://github.com/cobaltcore-dev/cortex/pull/1149)) + +Non-breaking changes: +- Fix issues introduced with new linter version ([#1150](https://github.com/cobaltcore-dev/cortex/pull/1150)) +- Fix inaccurate live migration bullet in CR reservations docs ([#1138](https://github.com/cobaltcore-dev/cortex/pull/1138)) +- Fix renovate PG_VERSION matching to use debian deb datasource ([#1144](https://github.com/cobaltcore-dev/cortex/pull/1144)) +- Update `github.com/gophercloud/gophercloud/v2` to v2.14.0 ([#1151](https://github.com/cobaltcore-dev/cortex/pull/1151)) +- Update `k8s.io/api`, `k8s.io/apimachinery`, `k8s.io/client-go` to v0.36.4 ([#1151](https://github.com/cobaltcore-dev/cortex/pull/1151)) +- Update `github.com/sapcc` dependencies ([#1146](https://github.com/cobaltcore-dev/cortex/pull/1146)) +- Update `github.com/mattn/go-sqlite3` to v1.14.50 ([#1143](https://github.com/cobaltcore-dev/cortex/pull/1143)) +- Update `golangci-lint` to v2.13.1 ([#1148](https://github.com/cobaltcore-dev/cortex/pull/1148), [#1151](https://github.com/cobaltcore-dev/cortex/pull/1151)) +- Update `kube-prometheus-stack` to v88.5.2 ([#1145](https://github.com/cobaltcore-dev/cortex/pull/1145), [#1151](https://github.com/cobaltcore-dev/cortex/pull/1151)) + +### cortex-shim v0.1.14 (sha-1742e3ee) + +Includes updated dependencies (k8s.io v0.36.4, gophercloud v2.14.0). + +### cortex-postgres v0.6.14 + +Includes updated renovate configuration for PG_VERSION matching. + +### cortex-nova v0.0.88 + +Includes updated charts cortex v0.3.8 and cortex-postgres v0.6.14. + +### cortex-cinder v0.0.88 + +Includes updated charts cortex v0.3.8 and cortex-postgres v0.6.14. + +### cortex-manila v0.0.88 + +Includes updated charts cortex v0.3.8 and cortex-postgres v0.6.14. + +### cortex-crds v0.0.88 + +Includes updated chart cortex v0.3.8. + +### cortex-ironcore v0.0.88 + +Includes updated chart cortex v0.3.8. + +### cortex-pods v0.0.88 + +Includes updated chart cortex v0.3.8. + +### cortex-placement-shim v0.1.14 + +Includes updated chart cortex-shim v0.1.14. + ## 2026-08-17 — [#1139](https://github.com/cobaltcore-dev/cortex/pull/1139) ### cortex v0.3.7 (sha-67daed47) diff --git a/helm/bundles/cortex-cinder/Chart.yaml b/helm/bundles/cortex-cinder/Chart.yaml index 259df2f77..92270d81f 100644 --- a/helm/bundles/cortex-cinder/Chart.yaml +++ b/helm/bundles/cortex-cinder/Chart.yaml @@ -5,23 +5,23 @@ apiVersion: v2 name: cortex-cinder description: A Helm chart deploying Cortex for Cinder. type: application -version: 0.0.87 +version: 0.0.88 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex-postgres - name: cortex-postgres repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.6.13 + version: 0.6.14 # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.3.7 + version: 0.3.8 alias: cortex-knowledge-controllers # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.3.7 + version: 0.3.8 alias: cortex-scheduling-controllers # Owner info adds a configmap to the kubernetes cluster with information on diff --git a/helm/bundles/cortex-crds/Chart.yaml b/helm/bundles/cortex-crds/Chart.yaml index 639351774..08bbdb859 100644 --- a/helm/bundles/cortex-crds/Chart.yaml +++ b/helm/bundles/cortex-crds/Chart.yaml @@ -5,13 +5,13 @@ apiVersion: v2 name: cortex-crds description: A Helm chart deploying Cortex CRDs. type: application -version: 0.0.87 +version: 0.0.88 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.3.7 + version: 0.3.8 # Owner info adds a configmap to the kubernetes cluster with information on # the service owner. This makes it easier to find out who to contact in case diff --git a/helm/bundles/cortex-ironcore/Chart.yaml b/helm/bundles/cortex-ironcore/Chart.yaml index e72b63e3e..934ca3a57 100644 --- a/helm/bundles/cortex-ironcore/Chart.yaml +++ b/helm/bundles/cortex-ironcore/Chart.yaml @@ -5,13 +5,13 @@ apiVersion: v2 name: cortex-ironcore description: A Helm chart deploying Cortex for IronCore. type: application -version: 0.0.87 +version: 0.0.88 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.3.7 + version: 0.3.8 # Owner info adds a configmap to the kubernetes cluster with information on # the service owner. This makes it easier to find out who to contact in case diff --git a/helm/bundles/cortex-manila/Chart.yaml b/helm/bundles/cortex-manila/Chart.yaml index 73c6279a2..1c63ed8c4 100644 --- a/helm/bundles/cortex-manila/Chart.yaml +++ b/helm/bundles/cortex-manila/Chart.yaml @@ -5,23 +5,23 @@ apiVersion: v2 name: cortex-manila description: A Helm chart deploying Cortex for Manila. type: application -version: 0.0.87 +version: 0.0.88 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex-postgres - name: cortex-postgres repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.6.13 + version: 0.6.14 # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.3.7 + version: 0.3.8 alias: cortex-knowledge-controllers # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.3.7 + version: 0.3.8 alias: cortex-scheduling-controllers # Owner info adds a configmap to the kubernetes cluster with information on diff --git a/helm/bundles/cortex-nova/Chart.yaml b/helm/bundles/cortex-nova/Chart.yaml index ffd98375f..7d1a29f9d 100644 --- a/helm/bundles/cortex-nova/Chart.yaml +++ b/helm/bundles/cortex-nova/Chart.yaml @@ -5,23 +5,23 @@ apiVersion: v2 name: cortex-nova description: A Helm chart deploying Cortex for Nova. type: application -version: 0.0.87 +version: 0.0.88 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex-postgres - name: cortex-postgres repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.6.13 + version: 0.6.14 # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.3.7 + version: 0.3.8 alias: cortex-knowledge-controllers # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.3.7 + version: 0.3.8 alias: cortex-scheduling-controllers # Owner info adds a configmap to the kubernetes cluster with information on diff --git a/helm/bundles/cortex-placement-shim/Chart.yaml b/helm/bundles/cortex-placement-shim/Chart.yaml index ea9c69c2a..25e5915c5 100644 --- a/helm/bundles/cortex-placement-shim/Chart.yaml +++ b/helm/bundles/cortex-placement-shim/Chart.yaml @@ -5,13 +5,13 @@ apiVersion: v2 name: cortex-placement-shim description: A Helm chart deploying the Cortex placement shim. type: application -version: 0.1.13 +version: 0.1.14 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex-shim - name: cortex-shim repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.1.13 + version: 0.1.14 # Owner info adds a configmap to the kubernetes cluster with information on # the service owner. This makes it easier to find out who to contact in case # of issues. See: https://github.com/sapcc/helm-charts/pkgs/container/helm-charts%2Fowner-info diff --git a/helm/bundles/cortex-pods/Chart.yaml b/helm/bundles/cortex-pods/Chart.yaml index 6ca4f7af1..7fdee3167 100644 --- a/helm/bundles/cortex-pods/Chart.yaml +++ b/helm/bundles/cortex-pods/Chart.yaml @@ -5,13 +5,13 @@ apiVersion: v2 name: cortex-pods description: A Helm chart deploying Cortex for Pods. type: application -version: 0.0.87 +version: 0.0.88 appVersion: 0.1.0 dependencies: # from: file://../../library/cortex - name: cortex repository: oci://ghcr.io/cobaltcore-dev/cortex/charts - version: 0.3.7 + version: 0.3.8 # Owner info adds a configmap to the kubernetes cluster with information on # the service owner. This makes it easier to find out who to contact in case diff --git a/helm/library/cortex-postgres/Chart.yaml b/helm/library/cortex-postgres/Chart.yaml index 3445e5a1b..71bed9014 100644 --- a/helm/library/cortex-postgres/Chart.yaml +++ b/helm/library/cortex-postgres/Chart.yaml @@ -5,5 +5,5 @@ apiVersion: v2 name: cortex-postgres description: Postgres setup for Cortex. type: application -version: 0.6.13 +version: 0.6.14 appVersion: "sha-9f10115a" diff --git a/helm/library/cortex-shim/Chart.yaml b/helm/library/cortex-shim/Chart.yaml index aa8cb14fb..4bbe67390 100644 --- a/helm/library/cortex-shim/Chart.yaml +++ b/helm/library/cortex-shim/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: cortex-shim description: A Helm chart to distribute cortex shims. type: application -version: 0.1.13 +version: 0.1.14 appVersion: "sha-1742e3ee" icon: "https://example.com/icon.png" dependencies: [] diff --git a/helm/library/cortex/Chart.yaml b/helm/library/cortex/Chart.yaml index 765b47eec..5c840ffa9 100644 --- a/helm/library/cortex/Chart.yaml +++ b/helm/library/cortex/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: cortex description: A Helm chart to distribute cortex. type: application -version: 0.3.7 +version: 0.3.8 appVersion: "sha-1742e3ee" icon: "https://example.com/icon.png" dependencies: [] From aa327e4478de668d4f78f9b5356f6fbecd64bcaa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 13:14:42 +0200 Subject: [PATCH 13/13] bump app version [skip ci] (#1156) bump app version [skip ci] ``` bumped cortex: sha-1742e3ee -> sha-77225628 noop cortex-shim (sha-1742e3ee) noop cortex-postgres (sha-9f10115a) ``` Signed-off-by: umswmayj <140147670+umswmayj@users.noreply.github.com> Co-authored-by: umswmayj <140147670+umswmayj@users.noreply.github.com> --- helm/library/cortex/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/library/cortex/Chart.yaml b/helm/library/cortex/Chart.yaml index 5c840ffa9..50907159c 100644 --- a/helm/library/cortex/Chart.yaml +++ b/helm/library/cortex/Chart.yaml @@ -3,6 +3,6 @@ name: cortex description: A Helm chart to distribute cortex. type: application version: 0.3.8 -appVersion: "sha-1742e3ee" +appVersion: "sha-77225628" icon: "https://example.com/icon.png" dependencies: []