Skip to content

Update go module minor/patch updates#193

Open
red-hat-konflux-kflux-prd-rh02[bot] wants to merge 1 commit into
mainfrom
konflux/mintmaker/main/go-module-minorpatch-updates
Open

Update go module minor/patch updates#193
red-hat-konflux-kflux-prd-rh02[bot] wants to merge 1 commit into
mainfrom
konflux/mintmaker/main/go-module-minorpatch-updates

Conversation

@red-hat-konflux-kflux-prd-rh02

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
cel.dev/expr v0.25.1v0.25.2 age confidence
cloud.google.com/go/auth v0.18.2v0.20.0 age confidence
cloud.google.com/go/pubsub/v2 v2.5.1v2.6.0 age confidence
github.com/Masterminds/semver/v3 v3.4.0v3.5.0 age confidence
github.com/ThreeDotsLabs/watermill v1.5.1v1.5.2 age confidence
github.com/ThreeDotsLabs/watermill-amqp/v3 v3.0.2v3.1.0 age confidence
github.com/ThreeDotsLabs/watermill-googlecloud/v2 v2.0.0v2.0.1 age confidence
github.com/antlr4-go/antlr/v4 v4.13.0v4.13.1 age confidence
github.com/docker/go-connections v0.6.0v0.7.0 age confidence
github.com/ebitengine/purego v0.10.0v0.10.1 age confidence
github.com/felixge/httpsnoop v1.0.4v1.1.0 age confidence
github.com/fsnotify/fsnotify v1.9.0v1.10.1 age confidence
github.com/fxamacker/cbor/v2 v2.9.0v2.9.2 age confidence
github.com/gabriel-vasile/mimetype v1.4.12v1.4.13 age confidence
github.com/getsentry/sentry-go v0.20.0v0.46.2 age confidence
github.com/go-openapi/jsonpointer v0.21.1v0.23.1 age confidence
github.com/go-openapi/jsonreference v0.21.0v0.21.6 age confidence
github.com/go-openapi/swag v0.25.4v0.26.1 age confidence
github.com/go-openapi/swag/cmdutils v0.25.4v0.26.1 age confidence
github.com/go-openapi/swag/conv v0.25.4v0.26.1 age confidence
github.com/go-openapi/swag/fileutils v0.25.4v0.26.1 age confidence
github.com/go-openapi/swag/jsonname v0.25.4v0.26.1 age confidence
github.com/go-openapi/swag/jsonutils v0.25.4v0.26.1 age confidence
github.com/go-openapi/swag/loading v0.25.4v0.26.1 age confidence
github.com/go-openapi/swag/mangling v0.25.4v0.26.1 age confidence
github.com/go-openapi/swag/netutils v0.25.4v0.26.1 age confidence
github.com/go-openapi/swag/stringutils v0.25.4v0.26.1 age confidence
github.com/go-openapi/swag/typeutils v0.25.4v0.26.1 age confidence
github.com/go-openapi/swag/yamlutils v0.25.4v0.26.1 age confidence
github.com/go-playground/validator/v10 v10.30.1v10.30.3 age confidence
github.com/google/cel-go v0.26.1v0.28.1 age confidence
github.com/google/gnostic-models v0.7.0v0.7.1 age confidence
github.com/googleapis/enterprise-certificate-proxy v0.3.14v0.3.16 age confidence
github.com/googleapis/gax-go/v2 v2.21.0v2.22.0 age confidence
github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0v2.29.0 age confidence
github.com/klauspost/compress v1.18.5v1.18.6 age confidence
github.com/moby/moby/api v1.54.1v1.54.2 age confidence
github.com/moby/moby/client v0.4.0v0.4.1 age confidence
github.com/moby/sys/sequential v0.6.0v0.7.0 age confidence
github.com/openshift-hyperfleet/hyperfleet-broker v1.1.0v1.1.1 age confidence
github.com/openshift-online/ocm-sdk-go v0.1.493v0.1.503 age confidence
github.com/pelletier/go-toml/v2 v2.2.4v2.3.1 age confidence
github.com/prometheus/common v0.67.4v0.68.1 age confidence
github.com/prometheus/procfs v0.19.2v0.20.1 age confidence
github.com/rabbitmq/amqp091-go v1.10.0v1.11.0 age confidence
github.com/shirou/gopsutil/v4 v4.26.3v4.26.5 age confidence
github.com/tklauser/go-sysconf v0.3.16v0.4.0 age confidence
github.com/tklauser/numcpus v0.11.0v0.12.0 age confidence
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.65.0v0.69.0 age confidence
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.65.0v0.69.0 age confidence
go.opentelemetry.io/contrib/propagators/autoprop v0.68.0v0.69.0 age confidence
go.opentelemetry.io/contrib/propagators/aws v1.43.0v1.44.0 age confidence
go.opentelemetry.io/contrib/propagators/b3 v1.43.0v1.44.0 age confidence
go.opentelemetry.io/contrib/propagators/jaeger v1.43.0v1.44.0 age confidence
go.opentelemetry.io/contrib/propagators/ot v1.43.0v1.44.0 age confidence
go.opentelemetry.io/otel v1.43.0v1.44.0 age confidence
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0v1.44.0 age confidence
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0v1.44.0 age confidence
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0v1.44.0 age confidence
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.43.0v1.44.0 age confidence
go.opentelemetry.io/otel/metric v1.43.0v1.44.0 age confidence
go.opentelemetry.io/otel/sdk v1.43.0v1.44.0 age confidence
go.opentelemetry.io/otel/trace v1.43.0v1.44.0 age confidence
go.uber.org/zap v1.27.1v1.28.0 age confidence
go.yaml.in/yaml/v2 v2.4.3v2.4.4 age confidence
golang.org/x/crypto v0.49.0v0.53.0 age confidence
golang.org/x/net v0.52.0v0.56.0 age confidence
golang.org/x/sync v0.20.0v0.21.0 age confidence
golang.org/x/sys v0.42.0v0.46.0 age confidence
golang.org/x/term v0.41.0v0.44.0 age confidence
golang.org/x/text v0.35.0v0.38.0 age confidence
google.golang.org/api v0.274.0v0.284.0 age confidence
google.golang.org/grpc v1.80.0v1.81.1 age confidence
gopkg.in/evanphx/json-patch.v4 v4.12.0v4.13.0 age confidence
k8s.io/api v0.34.3v0.36.2 age confidence
k8s.io/apimachinery v0.34.3v0.36.2 age confidence
k8s.io/client-go v0.34.3v0.36.2 age confidence
open-cluster-management.io/api v1.2.0v1.3.0 age confidence
open-cluster-management.io/sdk-go v1.2.0v1.3.0 age confidence
sigs.k8s.io/controller-runtime v0.22.4v0.24.1 age confidence
sigs.k8s.io/structured-merge-diff/v6 v6.3.2v6.4.0 age confidence

Release Notes

google/cel-spec (cel.dev/expr)

v0.25.2

Compare Source

What's Changed

New Contributors

Full Changelog: google/cel-spec@v0.25.1...v0.25.2

googleapis/google-cloud-go (cloud.google.com/go/auth)

v0.20.0

Compare Source

  • bigquery: Support SchemaUpdateOptions for load jobs.

  • bigtable:

    • Add SampleRowKeys.
    • cbt: Support union, intersection GCPolicy.
    • Retry admin RPCS.
    • Add trace spans to retries.
  • datastore: Add OpenCensus tracing.

  • firestore:

    • Fix queries involving Null and NaN.
    • Allow Timestamp protobuffers for time values.
  • logging: Add a WriteTimeout option.

  • spanner: Support Batch API.

  • storage: Add OpenCensus tracing.

v0.19.0

  • bigquery:

    • Support customer-managed encryption keys.
  • bigtable:

    • Improved emulator support.
    • Support GetCluster.
  • datastore:

    • Add general mutations.
    • Support pointer struct fields.
    • Support transaction options.
  • firestore:

    • Add Transaction.GetAll.
    • Support document cursors.
  • logging:

    • Support concurrent RPCs to the service.
    • Support per-entry resources.
  • profiler:

    • Add config options to disable heap and thread profiling.
    • Read the project ID from $GOOGLE_CLOUD_PROJECT when it's set.
  • pubsub:

    • BEHAVIOR CHANGE: Release flow control after ack/nack (instead of after the
      callback returns).
    • Add SubscriptionInProject.
    • Add OpenCensus instrumentation for streaming pull.
  • storage:

    • Support CORS.
Masterminds/semver (github.com/Masterminds/semver/v3)

v3.5.0

Compare Source

What's Changed

New Contributors

Full Changelog: Masterminds/semver@v3.4.0...v3.5.0

ThreeDotsLabs/watermill (github.com/ThreeDotsLabs/watermill)

v1.5.2

Compare Source

What's Changed

New Contributors

Full Changelog: ThreeDotsLabs/watermill@v1.5.1...v1.5.2

ThreeDotsLabs/watermill-amqp (github.com/ThreeDotsLabs/watermill-amqp/v3)

v3.1.0

Compare Source

What's Changed

  • Bumps dependencies by @​m110 in #​35
  • Added support for pre process delivery in the marshaler by @​micbis in #​33
  • fix: Adjust notifyCloseConnection to be a buffered channel to avoid blocking during exception handling by @​nengwu765 in #​30

New Contributors

Full Changelog: ThreeDotsLabs/watermill-amqp@v3.0.2...v3.1.0

ThreeDotsLabs/watermill-googlecloud (github.com/ThreeDotsLabs/watermill-googlecloud/v2)

v2.0.1

Compare Source

What's Changed

Full Changelog: ThreeDotsLabs/watermill-googlecloud@v2.0.0...v2.0.1

antlr4-go/antlr (github.com/antlr4-go/antlr/v4)

v4.13.1: Release 4.13.1

Compare Source

The 4.13.1 release has:

  • Some minor performance improvements
  • An optional build tag -tags antlr.nomutex which allows a build without
    using mutexes, when the user knows they will not use it with multiple
    go routines. (Note, somewhat experimental)

Note that I did not remove the sort.Slices calls. They will not be experimental for long
and are implemented efficently. Please make a fork if you must use it without this
dependency. Maybe review whether you need to do so for the sake of one call.

docker/go-connections (github.com/docker/go-connections)

v0.7.0

Compare Source

ebitengine/purego (github.com/ebitengine/purego)

v0.10.1

Compare Source

  • Fix a concurrency bug where simultaneous FFI calls could swap return values across goroutines (#​451)
felixge/httpsnoop (github.com/felixge/httpsnoop)

v1.1.0

Compare Source

fsnotify/fsnotify (github.com/fsnotify/fsnotify)

v1.10.1

Compare Source

Changes and fixes
  • inotify: don't remove sibling watches sharing a path prefix (#​754)

  • inotify, windows: don't rename sibling watches sharing a path prefix
    (#​755)

v1.10.0

Compare Source

This version of fsnotify needs Go 1.23.

Changes and fixes
  • inotify: improve initialization error message (#​731)

  • inotify: send Rename event if recursive watch is renamed (#​696)

  • inotify: avoid copying event buffers when reading names (#​741)

  • kqueue: skip dangling symlinks (ENOENT) in watchDirectoryFiles, so a bad entry no longer aborts Watcher.Add for the whole directory (#​748)

  • kqueue: drop watches directly in Close() to fix a file descriptor leak when recycling watchers (#​740)

  • windows: fix nil pointer dereference in remWatch (#​736)

  • windows: lock watch field updates against concurrent WatchList to fix a race introduced in v1.9.0 (#​709, #​749)

fxamacker/cbor (github.com/fxamacker/cbor/v2)

v2.9.2

Compare Source

This release refactors and hardens the streaming encoder by adding stricter checks for encoding CBOR indefinite-length data. Other changes include minor bugfixes, defensive checks, and more tests.

Projects that don't use CBOR indefinite-length data may also want to upgrade (summary of prior releases).

The stricter checks in the encoder prevent improper use of the library and bad inputs from producing malformed CBOR indefinite-length data that would be rejected by the decoder.

This release passed fuzz tests (billions of execs) and it is production quality.

What's Changed

  • Reject encoding indefinite-length map with odd item count by @​fxamacker in #​764
  • Reject encoding indefinite-length data item as a chunk inside indefinite-length byte string or text string by @​fxamacker in #​765
  • Make TagSet.Remove a no-op when contentType is nil by @​fxamacker in #​766
  • Refactor indefinite-length encoding and improve chunk validation during encoding by @​fxamacker in #​767
  • Add more tests, fix a nit in unreachable panic message, update docs & ci by @​fxamacker in #​768
CI / GitHub Actions and Docs
🔎 Details...

Full Changelog: fxamacker/cbor@v2.9.1...v2.9.2

v2.9.1

Compare Source

This release includes important bugfixes, defensive checks, improved code quality, and more tests. Although not public, the fuzzer was also improved by adding more fuzz tests.

🐞 Bug fixes related to the keyasint feature

These changes only affect Go struct fields tagged with keyasint:

  • [Decoding] Reject integer keys that exceed math.MaxInt64 when decoding CBOR map to a struct with keyasint field (PR #​757)
  • [Decoding] Prevent string representation of an integer key from matching the struct field tagged by keyasint (PR #​757)
  • [Encoding & Decoding] Deduplicate struct fields with the same normalized keyasint tag values (PR #​757)
🐞 Other bug fixes and defensive checks

Some of the bugs fixed are related to decoding extreme values that cannot be encoded with this library. For example, the decoder checks if epoch time encoded as CBOR float value representing hundreds of billions of years overflows int64(seconds).

NOTE: It is generally good practice to avoid using floating point to store epoch time (even when not using CBOR).

  • [Decoding] Reject decoding epoch time encoded as floats that overflow int64 (PR #​753)
  • [Encoding] Return a cloned slice for an empty RawMessage from RawMessage.MarshalCBOR (PR #​753)
  • [Encoding] Reject encoding nil inside indefinite-length strings (PR #​750)
  • [Diagnostic] Accept valid U+FFFD replacement character (PR #​753)

What's Changed

CI / GitHub Actions and Docs
🔎 Details...


Configuration

📅 Schedule: Branch creation - "on monday" (UTC), 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 if that's undesired.


  • 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 or see all available configuration options in Renovate documentation.

Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[bot]@users.noreply.github.com>
@red-hat-konflux-kflux-prd-rh02

Copy link
Copy Markdown
Contributor Author

ℹ️ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 2 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.25.0 -> 1.26.0
google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68 -> v0.0.0-20260526163538-3dc84a4a5aaa
google.golang.org/protobuf v1.36.11 -> v1.36.12-0.20260120151049-f2248ac996af

@openshift-ci openshift-ci Bot requested review from ma-hill and rafabene June 15, 2026 20:08
@openshift-ci

openshift-ci Bot commented Jun 15, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign vkareh for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci

openshift-ci Bot commented Jun 15, 2026

Copy link
Copy Markdown

Hi @red-hat-konflux-kflux-prd-rh02[bot]. Thanks for your PR.

I'm waiting for a openshift-hyperfleet member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown
📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Updated Go version to 1.26.0
    • Refreshed all direct and indirect dependencies to their latest compatible versions, including core libraries for validation, CEL evaluation, observability, Kubernetes integration, and cloud management tools.

Walkthrough

go.mod is updated to Go 1.26.0 (from 1.25.0). Direct dependencies bumped include go-playground/validator, google/cel-go, hyperfleet-broker, ocm-sdk-go, multiple go.opentelemetry.io/* packages, golang.org/x/text, k8s.io/*, open-cluster-management.io/*, and sigs.k8s.io/controller-runtime. Indirect dependencies also advanced: Docker/Moby, go-openapi/*, fsnotify, sentry-go, klauspost/compress, Prometheus, rabbitmq/amqp091-go, gopsutil/v4, OpenTelemetry exporters, golang.org/x/*, google.golang.org/grpc, google.golang.org/protobuf, and additional k8s.io/*/sigs.k8s.io/* packages.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes


Supply chain surface — verify each pin (CWE-829, CWE-1395):

  • go 1.26.0 — confirm this toolchain tag exists in the official Go release channel; a fabricated or pre-release tag is a silent no-op or build break.
  • github.com/openshift-hyperfleet/hyperfleet-broker — first-party, but internal supply chain risk; confirm the pinned version hash matches the expected release tag in the broker repo.
  • github.com/openshift-online/ocm-sdk-go — token/credential handling library; verify no CVEs in the delta between old and new version via govulncheck.
  • google.golang.org/grpc and google.golang.org/protobuf — both are high-frequency CVE targets (e.g., CVE-2023-44487/rapid-reset chain). Confirm new versions are not in a known advisory window.
  • klauspost/compress — decompression bomb vectors (CWE-400); confirm the new version patches any outstanding advisories.
  • github.com/rabbitmq/amqp091-go — broker-layer trust boundary; verify message parsing fixes are included, not just maintenance bumps.
  • go.opentelemetry.io/contrib/* and go.opentelemetry.io/otel/* — exporter packages have had injection/SSRF-adjacent issues in trace propagation headers; diff the changelog.
  • github.com/shirou/gopsutil/v4 — reads /proc, /sys; privilege escalation surface on container breakout. Confirm the bump does not widen the read surface.
  • Run go mod verify and govulncheck ./... against the new lock state before merge. Do not rely on CI green alone — govulncheck must be explicit in the pipeline.
🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Update go module minor/patch updates' accurately summarizes the primary change: dependency version bumps across 80+ Go packages in go.mod.
Description check ✅ Passed The description contains a detailed Renovate-generated changelog with a table listing 80+ package updates with versions, age, and confidence metrics, plus release notes. It relates directly to the go.mod changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Sec-02: Secrets In Log Output ✅ Passed PR contains only go.mod/go.sum dependency updates with no new code. Codebase scan found no log statements leaking tokens, passwords, credentials, or secrets in non-test files.
No Hardcoded Secrets ✅ Passed PR modifies only go.mod with dependency version updates. No hardcoded secrets, credentials, API keys, tokens, or passwords detected in the file.
No Weak Cryptography ✅ Passed No weak cryptography detected: zero uses of crypto/md5, crypto/des, crypto/rc4, or crypto/sha1 in code or dependencies; golang.org/x/crypto v0.53.0 is stable and safe.
No Injection Vectors ✅ Passed PR only modifies go.mod/go.sum (dependencies). No source code changes detected. Injection pattern scan (CWE-89, CWE-78, CWE-79, CWE-502) found zero violations.
No Privileged Containers ✅ Passed PR modifies go.mod only (dependency versions); does not modify Dockerfiles, Helm templates, or K8s manifests. Existing container configs enforce non-root (UID 65532), disable privilege escalation,...
No Pii Or Sensitive Data In Logs ✅ Passed No logging statements expose PII or sensitive data. Codebase uses structured slog with safe interpolation of non-sensitive fields only (versions, timeouts, names). Config redaction and error field...

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch konflux/mintmaker/main/go-module-minorpatch-updates
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch konflux/mintmaker/main/go-module-minorpatch-updates

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 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`:
- Around line 176-177: The protobuf dependency at line 177 is pinned to a
prerelease version (v1.36.12-0.20260120151049-...) while the pinned
hyperfleet-broker v1.1.1 depends on stable v1.36.11, creating version skew at
the adapter↔broker RPC boundary where the adapter serializes with prerelease
protobuf and the broker deserializes with stable protobuf, risking silent
message corruption. Replace the prerelease protobuf version with stable v1.36.11
to match the broker's current dependency, ensuring wire format compatibility
across the service boundary. If a stable v1.36.12 is available and preferred,
coordinate with the broker team to also update broker's go.mod accordingly. The
gRPC v1.81.1 upgrade at line 176 requires no change as it contains only security
fixes.
- Around line 23-28: The OpenTelemetry version at lines 23-28 (v1.44.0)
conflicts with the transitive v1.41.0 version pulled from hyperfleet-broker
v1.1.1 (line 12). This version mismatch can cause runtime incompatibility due to
API changes between v1.41 and v1.44. Either coordinate updating
hyperfleet-broker to a version that pins OTel v1.44.0 before merging, or add
replace directives in go.mod to force all OTel modules to v1.44.0 and align
transitive dependencies. The replace approach should map all
go.opentelemetry.io/otel modules and related exporters to their v1.44.0 versions
to ensure a consistent dependency graph across both the adapter and broker.
🪄 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: 71253029-9e9d-4282-88b6-b40a0f3186ed

📥 Commits

Reviewing files that changed from the base of the PR and between defc3af and 5772850.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum, !**/go.sum
📒 Files selected for processing (1)
  • go.mod
🔗 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)

Comment thread go.mod
Comment on lines +23 to +28
go.opentelemetry.io/otel v1.44.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.44.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.44.0
go.opentelemetry.io/otel/sdk v1.44.0
go.opentelemetry.io/otel/trace v1.44.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify hyperfleet-broker's current otel version requirement
cd /tmp && git clone --depth 1 https://github.com/openshift-hyperfleet/hyperfleet-broker.git && cd hyperfleet-broker && grep 'go.opentelemetry.io/otel' go.mod | head -5

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 350


🏁 Script executed:

#!/bin/bash
# Check hyperfleet-adapter's go.mod for broker version and any replace directives
head -40 go.mod

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 1548


🏁 Script executed:

#!/bin/bash
# Check if broker's version is being updated in this PR or if there are replace directives
grep -E 'hyperfleet-broker|replace|retract' go.mod

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 141


🏁 Script executed:

#!/bin/bash
# Check hyperfleet-broker's current go.mod to see if OTel is being updated
grep 'go.opentelemetry.io/otel' go.mod | head -10

Repository: openshift-hyperfleet/hyperfleet-broker

Length of output: 233


🏁 Script executed:

#!/bin/bash
# Check K8s and controller-runtime versions in this PR's go.mod
grep -E 'k8s.io|sigs.k8s.io/controller-runtime' go.mod

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 564


🏁 Script executed:

#!/bin/bash
# Check gRPC and protobuf versions
grep -E 'google.golang.org/grpc|google.golang.org/protobuf' go.mod

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 303


🏁 Script executed:

#!/bin/bash
# Check git history to find the previous K8s and controller-runtime versions
git log --oneline -10

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 128


🏁 Script executed:

#!/bin/bash
# Look at the diff to see what versions changed FROM and TO
git show HEAD:go.mod 2>/dev/null | grep -E 'k8s.io|sigs.k8s.io/controller-runtime' || echo "No previous version in HEAD"

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 564


🏁 Script executed:

#!/bin/bash
# Find previous go.mod state in git
git diff HEAD -- go.mod | grep -E 'k8s.io|sigs.k8s.io/controller-runtime' | head -20

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 65


🌐 Web query:

Kubernetes v0.36 breaking changes client-go apimachinery API stability

💡 Result:

In Kubernetes v1.36, the Go module versions for client-go, apimachinery, and related components were released as v0.36.0 [1][2][3]. While Kubernetes continues to maintain strict API stability guarantees for its external REST APIs, it has also introduced improved formal tracking for Go-level breaking changes in these libraries starting with this release [4]. Key points regarding Go API stability and breaking changes in v0.36: 1. Mandatory Go API Change Tracking: As of v1.36, the Kubernetes project has implemented mandatory tracking of breaking Go API changes for client-go and apimachinery [4]. These changes are now documented in Go-API/CHANGELOG.md files located within their respective repositories, providing developers with a clearer record of incompatible changes and required adaptations [4]. 2. General Stability Policy: Kubernetes maintains a strong backward compatibility policy for its stable REST APIs [5]. However, for Go library consumers (client-go, apimachinery), developers are advised that alpha APIs and internal structures may still evolve or change between releases [3]. The new tracking mechanism specifically addresses the challenge of identifying and managing breaking Go-level changes that previously required manual discovery through source code diffs or non-blocking CI jobs [4]. 3. Release Context: The v1.36 release (codenamed "Haru") included several significant deprecations and removals, such as the removal of the gitRepo volume driver and the deprecation of Service.spec.externalIPs [5]. While these are cluster-level changes, consumers of client-go should review their implementation to ensure compatibility with updated API schemas [5][3]. For specific technical migration requirements, you should consult the Go-API/CHANGELOG.md file within the k8s.io/client-go and k8s.io/apimachinery repositories on GitHub, which now serve as the primary authoritative source for identifying breaking Go API changes introduced in v0.36 [4].

Citations:


🌐 Web query:

gRPC v1.81.0 breaking changes API

💡 Result:

gRPC v1.81.0 includes several breaking changes across its various language implementations. Below are the key breaking changes identified for this release: Go (grpc-go) - The minimum supported Go version has been increased to 1.25 [1][2]. Java (grpc-java) - Support for Android API levels 21 and 22 (Lollipop) has been dropped, requiring a minimum of API level 23 (Android 6.0 Marshmallow) [3][4]. - The method LoadBalancer.handleResolvedAddresses has been deprecated [3]. Developers are required to transition to LoadBalancer.acceptResolvedAddresses, which returns a Status object to allow explicit success reporting or rejection of updates [3]. Python (grpcio) - Support for Python 3.9 has been dropped [5][6][7]. - Python 2 backward compatibility syntax, specifically inheritance from (object), has been removed [5][6][7]. Ruby - Support for Ruby 3.1 has been dropped [5][6][7]. In addition to these breaking changes, the v1.81.0 release includes various refinements, bug fixes, and new features across gRPC Core and other language-specific stacks, such as improved metrics emission in Go [1][2] and new observability support for AsyncIO in Python [5][6]. Users are encouraged to review the full release notes for their specific language stack to ensure a smooth upgrade [3][6].

Citations:


🏁 Script executed:

#!/bin/bash
# Show the previous commit's go.mod to see the actual version jump
git show HEAD~1:go.mod 2>/dev/null | grep -E 'k8s.io|sigs.k8s.io/controller-runtime|go.opentelemetry.io/otel v' | head -20

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 65


🏁 Script executed:

#!/bin/bash
# Check what Go version requirement gRPC v1.81.1 has
# Also verify adapter's current Go version compatibility
head -3 go.mod

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 152


🏁 Script executed:

#!/bin/bash
# Check broker's gRPC and protobuf versions to assess compatibility with adapter
grep -E 'google.golang.org/grpc|google.golang.org/protobuf' go.mod

Repository: openshift-hyperfleet/hyperfleet-broker

Length of output: 248


OpenTelemetry version mismatch with transitive dependency from hyperfleet-broker creates runtime incompatibility.

Lines 23–28 update OTel core to v1.44.0. However, hyperfleet-broker v1.1.1 (line 12) currently pins v1.41.0 (confirmed in broker's go.mod). When this adapter imports broker, it will pull OTel v1.41.0 transitively while also depending on v1.44.0 directly. This creates a version conflict across the service stack:

  • Adapter: otel v1.44.0 (this PR)
  • Broker: otel v1.41.0 (transitive, not yet updated)

OTel trace/context propagation APIs changed between v1.41 and v1.44. Conflicting versions can cause trace initialization failures or context loss at runtime (CWE-1104: use of unmaintained/incompatible dependency). Broker's go.mod must be updated to OTel v1.44.0 before merging, or this PR must include a replace directive to align versions.

🤖 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` around lines 23 - 28, The OpenTelemetry version at lines 23-28
(v1.44.0) conflicts with the transitive v1.41.0 version pulled from
hyperfleet-broker v1.1.1 (line 12). This version mismatch can cause runtime
incompatibility due to API changes between v1.41 and v1.44. Either coordinate
updating hyperfleet-broker to a version that pins OTel v1.44.0 before merging,
or add replace directives in go.mod to force all OTel modules to v1.44.0 and
align transitive dependencies. The replace approach should map all
go.opentelemetry.io/otel modules and related exporters to their v1.44.0 versions
to ensure a consistent dependency graph across both the adapter and broker.

Comment thread go.mod
Comment on lines +176 to +177
google.golang.org/grpc v1.81.1 // indirect
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

Is google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af a stable or prerelease version? What are the breaking changes in google.golang.org/grpc v1.81.1?

💡 Result:

The version google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af is a prerelease version [1][2][3]. In the Go module system, versions following the vX.Y.Z-yyyymmddhhmmss-abcdefabcdef format are considered pseudo-versions, which are typically used for development or testing builds and are treated as prereleases compared to tagged, stable releases [3][4]. Regarding google.golang.org/grpc v1.81.1, this is a patch release focused on security and bug fixes [5][6]. It does not introduce breaking changes; instead, it includes the following updates: 1. Security Fix: Resolved a potential authorization bypass in xds/rbac where URI/DNS SANs could incorrectly fall through to the Subject Distinguished Name (DN) when matching authenticated principal names [5][6]. The fix ensures only the first non-empty identity source is used [5][6]. 2. Bug Fix: Fixed an issue in otel (OpenTelemetry) where client and server RPC information were incorrectly mixed, potentially causing one to overwrite the other [5][6]. Breaking changes were not a component of the v1.81.1 release [5][7]. Users should be aware that significant changes, such as increasing the minimum supported Go version to 1.25, were introduced in the preceding v1.81.0 release [8].

Citations:


🏁 Script executed:

#!/bin/bash
# Check if broker's go.mod is being modified in this PR, and compare gRPC/protobuf versions
echo "=== Adapter's go.mod (lines 176-177) ==="
sed -n '175,178p' go.mod

echo -e "\n=== Searching for any broker version updates ==="
grep "hyperfleet-broker" go.mod

echo -e "\n=== Checking git diff for go.mod changes (if available) ==="
if git diff HEAD^ HEAD -- go.mod 2>/dev/null | grep -E "(grpc|protobuf|broker)" | head -20; then
  echo "Found changes"
else
  echo "No git history available"
fi

Repository: openshift-hyperfleet/hyperfleet-adapter

Length of output: 572


🏁 Script executed:

#!/bin/bash
# Check broker's current gRPC and protobuf versions
echo "=== Broker's gRPC and protobuf versions ==="
grep -E "(grpc|protobuf)" go.mod | grep -v "^//" || echo "Not found in broker's go.mod"

Repository: openshift-hyperfleet/hyperfleet-broker

Length of output: 292


Prerelease protobuf poses supply chain and compatibility risk across adapter↔broker boundary.

Lines 176–177 update to gRPC v1.81.1 and protobuf v1.36.12-0.20260120151049-... (prerelease). The pinned hyperfleet-broker v1.1.1 currently depends on gRPC v1.79.3 and protobuf v1.36.11 (stable releases).

Risks:

  • CWE-829 (Untrusted Input): Prerelease protobuf version uses a pseudo-version timestamp, not a tagged stable release. While Google-official, this version bypasses semantic versioning guarantees and introduces supply chain uncertainty in production code.
  • Version Skew at RPC Boundary: Adapter serializes protobuf messages with v1.36.12-prerelease; broker deserializes with v1.36.11-stable. Wire format changes in prerelease builds can silently break RPC communication (missing fields, incompatible encoding, etc.).
  • No Corresponding Broker Update: Broker's go.mod is not updated in this PR. Broker will receive messages from adapter that may use prerelease protobuf encoding assumptions.

gRPC v1.81.1 itself introduces no breaking changes (only security fixes including xds/rbac authorization fix and otel bug fix), but prerelease protobuf across the service boundary is unacceptable.

Action: Replace prerelease protobuf with stable v1.36.11 or update broker's go.mod to also use v1.36.12 (stable) if available.

🤖 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` around lines 176 - 177, The protobuf dependency at line 177 is pinned
to a prerelease version (v1.36.12-0.20260120151049-...) while the pinned
hyperfleet-broker v1.1.1 depends on stable v1.36.11, creating version skew at
the adapter↔broker RPC boundary where the adapter serializes with prerelease
protobuf and the broker deserializes with stable protobuf, risking silent
message corruption. Replace the prerelease protobuf version with stable v1.36.11
to match the broker's current dependency, ensuring wire format compatibility
across the service boundary. If a stable v1.36.12 is available and preferred,
coordinate with the broker team to also update broker's go.mod accordingly. The
gRPC v1.81.1 upgrade at line 176 requires no change as it contains only security
fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants