HYPERFLEET-1246 - chore: upgrade hyperfleet-api-spec to v1.0.23#248
Conversation
Co-Authored-By: Claude <noreply@anthropic.com>
📝 WalkthroughSummary by CodeRabbit
Walkthrough
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 10 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (10 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
Risk Score: 0 —
|
| Signal | Detail | Points |
|---|---|---|
| PR size | 162 lines | +0 |
| Sensitive paths | none | +0 |
| Test coverage | Tests cover changed packages | +0 |
Computed by hyperfleet-risk-scorer
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@go.mod`:
- Line 23: The dependency bump to hyperfleet-api-spec v1.0.23 creates a
contract-drift risk with hyperfleet-sentinel, which still expects v1.0.12.
Update the Sentinel-side spec pin and any related compatibility checks in
lockstep with this change, or revert/block the go.mod bump until Sentinel is
updated to the same API spec version. Focus on the dependency entry in go.mod
and the corresponding Sentinel version reference.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 1225861f-ec81-40c1-81c8-1c5d4739b54d
⛔ Files ignored due to path filters (1)
go.sumis excluded by!**/*.sum,!**/go.sum
📒 Files selected for processing (13)
go.modpkg/api/presenters/cluster.gopkg/api/presenters/cluster_test.gopkg/api/presenters/node_pool.gopkg/api/presenters/node_pool_test.gopkg/api/presenters/presenter_test.gopkg/api/presenters/resource.gopkg/api/presenters/resource_test.gopkg/handlers/cluster_nodepools_test.gopkg/handlers/validation_test.gotest/integration/caller_identity_test.gotest/integration/clusters_test.gotest/integration/node_pools_test.go
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
openshift-hyperfleet/architecture(manual)openshift-hyperfleet/hyperfleet-api(manual)openshift-hyperfleet/hyperfleet-sentinel(manual)openshift-hyperfleet/hyperfleet-adapter(manual)openshift-hyperfleet/hyperfleet-broker(manual)
| github.com/oapi-codegen/runtime v1.4.2 | ||
| github.com/onsi/gomega v1.42.0 | ||
| github.com/openshift-hyperfleet/hyperfleet-api-spec v1.0.21 | ||
| github.com/openshift-hyperfleet/hyperfleet-api-spec v1.0.23 |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Inspect Sentinel's pinned spec and Kind handling assumptions.
gh api repos/openshift-hyperfleet/hyperfleet-sentinel/contents/go.mod \
--jq '.content' | base64 -d | rg -n 'hyperfleet-api-spec'
gh search prs --repo openshift-hyperfleet/hyperfleet-sentinel --state open 'api-spec' --json title,numberRepository: openshift-hyperfleet/hyperfleet-api
Length of output: 301
Coordinate the spec bump with Sentinel. hyperfleet-api-spec moved to v1.0.23, but hyperfleet-sentinel still pins v1.0.12 and assumes a compatible API spec. That leaves a contract-drift risk; update Sentinel in lockstep or block this bump until it does.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@go.mod` at line 23, The dependency bump to hyperfleet-api-spec v1.0.23
creates a contract-drift risk with hyperfleet-sentinel, which still expects
v1.0.12. Update the Sentinel-side spec pin and any related compatibility checks
in lockstep with this change, or revert/block the go.mod bump until Sentinel is
updated to the same API spec version. Focus on the dependency entry in go.mod
and the corresponding Sentinel version reference.
Sources: Path instructions, Linked repositories
| "github.com/openshift-hyperfleet/hyperfleet-api/pkg/api/openapi" | ||
| "github.com/openshift-hyperfleet/hyperfleet-api/pkg/util" | ||
|
|
||
| "github.com/openshift-hyperfleet/hyperfleet-api/test" |
There was a problem hiding this comment.
Tip
nit — non-blocking suggestion
Category: Pattern
Removing the util import left a blank line that splits internal packages into two groups. Per import ordering convention, all internal packages should be in one group:
| "github.com/openshift-hyperfleet/hyperfleet-api/pkg/api/openapi" | |
| "github.com/openshift-hyperfleet/hyperfleet-api/pkg/util" | |
| "github.com/openshift-hyperfleet/hyperfleet-api/test" | |
| "github.com/openshift-hyperfleet/hyperfleet-api/pkg/api/openapi" | |
| "github.com/openshift-hyperfleet/hyperfleet-api/test" |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rafabene The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
3a3f9c1
into
openshift-hyperfleet:main
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [cloud.google.com/go/auth](https://redirect.github.com/googleapis/google-cloud-go) | `v0.20.0` → `v0.21.0` |  |  | | [cloud.google.com/go/pubsub/v2](https://redirect.github.com/googleapis/google-cloud-go) | `v2.6.0` → `v2.6.1` |  |  | | [github.com/google/cel-go](https://redirect.github.com/google/cel-go) | `v0.29.1` → `v0.29.2` |  |  | | [github.com/googleapis/enterprise-certificate-proxy](https://redirect.github.com/googleapis/enterprise-certificate-proxy) | `v0.3.17` → `v0.3.18` |  |  | | [github.com/googleapis/gax-go/v2](https://redirect.github.com/googleapis/gax-go) | `v2.22.0` → `v2.23.0` |  |  | | [github.com/openshift-online/ocm-sdk-go](https://redirect.github.com/openshift-online/ocm-sdk-go) | `v0.1.504` → `v0.1.505` |  |  | | [github.com/pelletier/go-toml/v2](https://redirect.github.com/pelletier/go-toml) | `v2.4.2` → `v2.4.3` |  |  | | [github.com/prometheus/common](https://redirect.github.com/prometheus/common) | `v0.69.0` → `v0.70.0` |  |  | | [golang.org/x/crypto](https://pkg.go.dev/golang.org/x/crypto) | [`v0.53.0` → `v0.54.0`](https://cs.opensource.google/go/x/crypto/+/refs/tags/v0.53.0...refs/tags/v0.54.0) |  |  | | [golang.org/x/net](https://pkg.go.dev/golang.org/x/net) | [`v0.56.0` → `v0.57.0`](https://cs.opensource.google/go/x/net/+/refs/tags/v0.56.0...refs/tags/v0.57.0) |  |  | | [golang.org/x/sync](https://pkg.go.dev/golang.org/x/sync) | [`v0.21.0` → `v0.22.0`](https://cs.opensource.google/go/x/sync/+/refs/tags/v0.21.0...refs/tags/v0.22.0) |  |  | | [golang.org/x/sys](https://pkg.go.dev/golang.org/x/sys) | [`v0.46.0` → `v0.47.0`](https://cs.opensource.google/go/x/sys/+/refs/tags/v0.46.0...refs/tags/v0.47.0) |  |  | | [golang.org/x/term](https://pkg.go.dev/golang.org/x/term) | [`v0.44.0` → `v0.45.0`](https://cs.opensource.google/go/x/term/+/refs/tags/v0.44.0...refs/tags/v0.45.0) |  |  | | [golang.org/x/text](https://pkg.go.dev/golang.org/x/text) | [`v0.39.0` → `v0.40.0`](https://cs.opensource.google/go/x/text/+/refs/tags/v0.39.0...refs/tags/v0.40.0) |  |  | | [google.golang.org/api](https://redirect.github.com/googleapis/google-api-go-client) | `v0.287.0` → `v0.288.0` |  |  | | [sigs.k8s.io/structured-merge-diff/v6](https://redirect.github.com/kubernetes-sigs/structured-merge-diff) | `v6.4.0` → `v6.4.2` |  |  | --- ### Release Notes <details> <summary>googleapis/google-cloud-go (cloud.google.com/go/auth)</summary> ### [`v0.21.0`](https://redirect.github.com/googleapis/google-cloud-go/blob/HEAD/CHANGES.md#v0210) [Compare Source](https://redirect.github.com/googleapis/google-cloud-go/compare/v0.20.0...v0.21.0) - bigquery: - Add OpenCensus tracing. - firestore: - **BREAKING CHANGE:** If a document does not exist, return a DocumentSnapshot whose Exists method returns false. DocumentRef.Get and Transaction.Get return the non-nil DocumentSnapshot in addition to a NotFound error. **DocumentRef.GetAll and Transaction.GetAll return a non-nil DocumentSnapshot instead of nil.** - Add DocumentIterator.Stop. **Call Stop whenever you are done with a DocumentIterator.** - Added Query.Snapshots and DocumentRef.Snapshots, which provide realtime notification of updates. See <https://cloud.google.com/firestore/docs/query-data/listen>. - Canceling an RPC now always returns a grpc.Status with codes.Canceled. - spanner: - Add `CommitTimestamp`, which supports inserting the commit timestamp of a transaction into a column. </details> <details> <summary>google/cel-go (github.com/google/cel-go)</summary> ### [`v0.29.2`](https://redirect.github.com/cel-expr/cel-go/releases/tag/v0.29.2) [Compare Source](https://redirect.github.com/google/cel-go/compare/v0.29.1...v0.29.2) #### What's Changed - Normalize cel/prompt\_test.go to LF, add missing newline in prompt.go by [@​dims](https://redirect.github.com/dims) in [cel-expr#1361](https://redirect.github.com/cel-expr/cel-go/pull/1361) - Update lists.go runtime cost calculator by [@​TristonianJones](https://redirect.github.com/TristonianJones) in [cel-expr#1360](https://redirect.github.com/cel-expr/cel-go/pull/1360) **Full Changelog**: <cel-expr/cel-go@v0.29.1...v0.29.2> </details> <details> <summary>googleapis/enterprise-certificate-proxy (github.com/googleapis/enterprise-certificate-proxy)</summary> ### [`v0.3.18`](https://redirect.github.com/googleapis/enterprise-certificate-proxy/compare/v0.3.17...v0.3.18) [Compare Source](https://redirect.github.com/googleapis/enterprise-certificate-proxy/compare/v0.3.17...v0.3.18) </details> <details> <summary>googleapis/gax-go (github.com/googleapis/gax-go/v2)</summary> ### [`v2.23.0`](https://redirect.github.com/googleapis/gax-go/releases/tag/v2.23.0) [Compare Source](https://redirect.github.com/googleapis/gax-go/compare/v2.22.0...v2.23.0) ##### Features - **v2:** add http.response.status\_code to TransportTelemetryData ([#​513](https://redirect.github.com/googleapis/gax-go/issues/513)) ([7d5554f](https://redirect.github.com/googleapis/gax-go/commit/7d5554f433f669fba3db5c5b64ed67a30813c568)) ##### Bug Fixes - correct min go version ([#​517](https://redirect.github.com/googleapis/gax-go/issues/517)) ([fc62896](https://redirect.github.com/googleapis/gax-go/commit/fc62896b04d04db85c48585b9311ec4bbee1d9bc)) </details> <details> <summary>openshift-online/ocm-sdk-go (github.com/openshift-online/ocm-sdk-go)</summary> ### [`v0.1.505`](https://redirect.github.com/openshift-online/ocm-sdk-go/compare/v0.1.504...v0.1.505) [Compare Source](https://redirect.github.com/openshift-online/ocm-sdk-go/compare/v0.1.504...v0.1.505) </details> <details> <summary>pelletier/go-toml (github.com/pelletier/go-toml/v2)</summary> ### [`v2.4.3`](https://redirect.github.com/pelletier/go-toml/releases/tag/v2.4.3) [Compare Source](https://redirect.github.com/pelletier/go-toml/compare/v2.4.2...v2.4.3) <!-- Release notes generated using configuration in .github/release.yml at v2.4.3 --> #### What's Changed ##### What's new - Add RawMessage marshal support to unstable by [@​pelletier](https://redirect.github.com/pelletier) in [#​1084](https://redirect.github.com/pelletier/go-toml/pull/1084) ##### Fixed bugs - Fix invalid TOML from commented multi-line values by [@​pelletier](https://redirect.github.com/pelletier) in [#​1081](https://redirect.github.com/pelletier/go-toml/pull/1081) - Deliver the whole document to a root Unmarshaler ([#​994](https://redirect.github.com/pelletier/go-toml/issues/994)) by [@​pelletier](https://redirect.github.com/pelletier) in [#​1083](https://redirect.github.com/pelletier/go-toml/pull/1083) - fix: report table placement errors with position and key context by [@​pelletier](https://redirect.github.com/pelletier) in [#​1086](https://redirect.github.com/pelletier/go-toml/pull/1086) - fix: do not recurse forever on recursively embedded structs by [@​pelletier](https://redirect.github.com/pelletier) in [#​1087](https://redirect.github.com/pelletier/go-toml/pull/1087) - fix: error instead of panic on nil unexported embedded pointer by [@​pelletier](https://redirect.github.com/pelletier) in [#​1089](https://redirect.github.com/pelletier/go-toml/pull/1089) - fix: bound array and inline table nesting depth to prevent stack-overflow DoS by [@​pelletier](https://redirect.github.com/pelletier) in [#​1092](https://redirect.github.com/pelletier/go-toml/pull/1092) ##### Documentation - unstable/kind: drop duplicate 'a' from LocalDate comment by [@​c-tonneslan](https://redirect.github.com/c-tonneslan) in [#​1062](https://redirect.github.com/pelletier/go-toml/pull/1062) ##### Other changes - perf: avoid interface boxing when decoding date/time values by [@​nishantmehta](https://redirect.github.com/nishantmehta) in [#​1085](https://redirect.github.com/pelletier/go-toml/pull/1085) #### New Contributors - [@​nishantmehta](https://redirect.github.com/nishantmehta) made their first contribution in [#​1085](https://redirect.github.com/pelletier/go-toml/pull/1085) - [@​c-tonneslan](https://redirect.github.com/c-tonneslan) made their first contribution in [#​1062](https://redirect.github.com/pelletier/go-toml/pull/1062) **Full Changelog**: <pelletier/go-toml@v2.4.2...v2.4.3> </details> <details> <summary>prometheus/common (github.com/prometheus/common)</summary> ### [`v0.70.0`](https://redirect.github.com/prometheus/common/blob/HEAD/CHANGELOG.md#v0700--2026-07-10) [Compare Source](https://redirect.github.com/prometheus/common/compare/v0.69.0...v0.70.0) ##### Enhancements - route: add support for the QUERY HTTP method. [#​932](https://redirect.github.com/prometheus/common/issues/932) ##### Bugfixes - config: fix `TLSVersion.String()` printing a pointer address instead of the numeric version for unknown TLS versions. [#​929](https://redirect.github.com/prometheus/common/issues/929) ##### Internal - expfmt: add `BenchmarkConvertMetricFamily` comparing the Prometheus text and OpenMetrics 1.0 encoders. [#​943](https://redirect.github.com/prometheus/common/issues/943) - Update Go dependencies. [#​933](https://redirect.github.com/prometheus/common/issues/933) [#​934](https://redirect.github.com/prometheus/common/issues/934) - Synchronize common files from prometheus/prometheus. [#​923](https://redirect.github.com/prometheus/common/issues/923) [#​927](https://redirect.github.com/prometheus/common/issues/927) [#​930](https://redirect.github.com/prometheus/common/issues/930) [#​937](https://redirect.github.com/prometheus/common/issues/937) - Update GitHub Actions. [#​938](https://redirect.github.com/prometheus/common/issues/938) [#​939](https://redirect.github.com/prometheus/common/issues/939) [#​940](https://redirect.github.com/prometheus/common/issues/940) [#​941](https://redirect.github.com/prometheus/common/issues/941) [#​942](https://redirect.github.com/prometheus/common/issues/942) **Full Changelog**: <prometheus/common@v0.69.0...v0.70.0> </details> <details> <summary>googleapis/google-api-go-client (google.golang.org/api)</summary> ### [`v0.288.0`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.288.0) [Compare Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.287.1...v0.288.0) ##### Features - **all:** Auto-regenerate discovery clients ([#​3647](https://redirect.github.com/googleapis/google-api-go-client/issues/3647)) ([510a0c1](https://redirect.github.com/googleapis/google-api-go-client/commit/510a0c19483ea5631b7b0a453f9d6df1b9ef596a)) ### [`v0.287.1`](https://redirect.github.com/googleapis/google-api-go-client/releases/tag/v0.287.1) [Compare Source](https://redirect.github.com/googleapis/google-api-go-client/compare/v0.287.0...v0.287.1) ##### Documentation - Remove old TODO file ([#​3645](https://redirect.github.com/googleapis/google-api-go-client/issues/3645)) ([9d7a6b8](https://redirect.github.com/googleapis/google-api-go-client/commit/9d7a6b8ba7ca7fda1fda4373714a8aff1e930e6f)) </details> <details> <summary>kubernetes-sigs/structured-merge-diff (sigs.k8s.io/structured-merge-diff/v6)</summary> ### [`v6.4.2`](https://redirect.github.com/kubernetes-sigs/structured-merge-diff/compare/v6.4.1...v6.4.2) [Compare Source](https://redirect.github.com/kubernetes-sigs/structured-merge-diff/compare/v6.4.1...v6.4.2) ### [`v6.4.1`](https://redirect.github.com/kubernetes-sigs/structured-merge-diff/compare/v6.4.0...v6.4.1) [Compare Source](https://redirect.github.com/kubernetes-sigs/structured-merge-diff/compare/v6.4.0...v6.4.1) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - "on monday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- To execute skipped test pipelines write comment `/ok-to-test`. --- ### Documentation Find out how to configure dependency updates in [MintMaker documentation](https://konflux-ci.dev/docs/mintmaker/user/) or see all available configuration options in [Renovate documentation](https://docs.renovatebot.com/configuration-options/). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTAuMC1ycG0iLCJ1cGRhdGVkSW5WZXIiOiI0My4yMTAuMC1ycG0iLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
Summary
github.com/openshift-hyperfleet/hyperfleet-api-specfrom the previous version tov1.0.23Kindfield changed from*stringtostringinClusterCreateRequest,NodePoolCreateRequest,Cluster,NodePool, andObjectReferenceChanges
Source files:
pkg/api/presenters/cluster.go— remove nil-pointer check onreq.Kind; usecluster.Kind(string) directly in responsepkg/api/presenters/node_pool.go— same pattern; usenodePool.KindandnodePool.OwnerKinddirectlypkg/api/presenters/resource.go— dereference*stringdomain field viautil.NilToEmptyStringforObjectReference.KindTest files: remove
util.PtrString()/&kindpointer literals when constructing request bodies; remove*dereference onKindandOwnerReferences.Kindassertions across unit and integration tests.Test plan
make test— 1264 unit tests passmake test-integration— 198 integration tests pass (2 expected skips)🤖 Generated with Claude Code