Skip to content

OCPBUGS-105319: update kubernetes api to v0.36.3 - #704

Open
rhdmalone wants to merge 1 commit into
openshift:mainfrom
rhdmalone:main-august-2026-update-k8-api
Open

OCPBUGS-105319: update kubernetes api to v0.36.3#704
rhdmalone wants to merge 1 commit into
openshift:mainfrom
rhdmalone:main-august-2026-update-k8-api

Conversation

@rhdmalone

@rhdmalone rhdmalone commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

update kubernetes api to v0.36.3
Jira: to do

Summary by CodeRabbit

  • Chores
    • Updated the application runtime and build environment to newer platform releases.
    • Upgraded the Go version to 1.26.
    • Updated monitoring, Kubernetes, gRPC, protobuf, and related supporting libraries.
    • Replaced the legacy gRPC Prometheus integration with a newer monitoring provider.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Walkthrough

The pull request updates the container images to OpenShift 5.0, changes the module requirement to Go 1.26, and upgrades direct and indirect Go dependencies.

Changes

Toolchain and dependency upgrade

Layer / File(s) Summary
OpenShift build and runtime images
Dockerfile.okd
The build stage uses the OpenShift 5.0 Go 1.26 image. The runtime stage uses the OpenShift 5.0 RHEL 9 image.
Go module and dependency versions
go.mod
The module requires Go 1.26. Direct and indirect dependencies are upgraded, including Kubernetes, Prometheus, gRPC middleware providers, and grpc-gateway.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
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.
Stable And Deterministic Test Names ✅ Passed All non-vendored tests use Go's standard testing package; no Ginkgo dependencies or It/Describe/Context/When calls exist, and the PR changes no test files.
Test Structure And Quality ✅ Passed The PR changes only Dockerfile.okd, Go dependencies, go.sum, and vendor code; the repository has no Ginkgo/Gomega imports or Ginkgo test constructs, so this check is not applicable.
Microshift Test Compatibility ✅ Passed The commit changes only Dockerfile.okd, Go dependency files, and vendored code; it adds no Ginkgo e2e tests or test declarations requiring MicroShift review.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The patch changes only Dockerfile.okd, go.mod, and go.sum; no Go test, e2e, or Ginkgo declarations were added or changed.
Topology-Aware Scheduling Compatibility ✅ Passed The commit changes only Dockerfile.okd, Go module files, and vendored dependencies; no deployment manifests, operator code, or controllers are modified.
Ote Binary Stdout Contract ✅ Passed The check is not applicable: this repository has no OTE or openshift-tests integration, and the e2e suite runs as a standard go test binary.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The pull request changes only Dockerfile.okd, go.mod, and go.sum; it adds no Ginkgo e2e tests or network connectivity code.
No-Weak-Crypto ✅ Passed The patch adds no weak-crypto implementation or secret comparison; first-party crypto files are unchanged, and added MD5/SHA1 references are OpenTelemetry metadata only.
Container-Privileges ✅ Passed Dockerfile.okd runs as cluster-samples-operator; Kubernetes manifests set runAsNonRoot=true, allowPrivilegeEscalation=false, and drop ALL. No forbidden privilege settings appear.
No-Sensitive-Data-In-Logs ✅ Passed The non-vendor diff changes only Dockerfile and dependency metadata; no application logging was added, and added vendor logs do not log passwords, tokens, API keys, or PII.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the Kubernetes API update to v0.36.3, which matches the pull request objective and a main dependency change.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci
openshift-ci Bot requested review from fbm3307 and gabemontero August 6, 2026 15:49
@openshift-ci

openshift-ci Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rhdmalone

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

The pull request process is described 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 added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 6, 2026
@rhdmalone

Copy link
Copy Markdown
Contributor Author

/cc @aroyoredhat

@openshift-ci
openshift-ci Bot requested a review from aroyoredhat August 6, 2026 15:50

@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: 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 92: Update the google.golang.org/grpc dependency from v1.79.3 to v1.82.1
or later through the module dependency chain, then regenerate go.mod and related
dependency metadata so the module graph consistently reflects the fixed version.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

Comment thread go.mod
golang.org/x/time v0.14.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 // indirect
google.golang.org/grpc v1.79.3 // 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.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

go list -deps ./... | rg '^google.golang.org/grpc(/|$)' || true
go list -m -f '{{.Path}} {{.Version}}' google.golang.org/grpc

Repository: openshift/cluster-samples-operator

Length of output: 2935


🌐 Web query:

OSV GO-2026-6061 google.golang.org/grpc v1.82.1 fixed

💡 Result:

OSV GO-2026-6061 is a security vulnerability affecting the google.golang.org/grpc package, specifically within the xDS RBAC authorization engine and the HTTP/2 transport server implementation [1][2]. The issue is tracked under identifier GHSA-hrxh-6v49-42gf [3][2]. It has been fixed in version 1.82.1 [2][4]. Users are advised to upgrade to version 1.82.1 or higher to mitigate the risks, which include potential authorization bypasses and denial-of-service vulnerabilities [2][5].

Citations:


🌐 Web query:

GO-2026-6061 grpc http2 xds rbac

💡 Result:

GO-2026-6061 is a security advisory published on July 27, 2026, concerning multiple vulnerabilities in the google.golang.org/grpc Go package [1][2]. The advisory affects versions prior to v1.82.1 [1]. The vulnerabilities addressed in this advisory involve two primary components of gRPC-Go: 1. xDS RBAC Authorization Engine: - Authorization Bypass (Fail-Open): An issue occurred when translating xDS RBAC policies that utilized Metadata or RequestedServerName fields, potentially leading to unauthorized access [3]. - Denial of Service (Server Panic): A runtime panic could be triggered by parsing crafted xDS RBAC policies that contained NOT rules wrapping unsupported fields, such as SourcedMetadata [3]. 2. HTTP/2 Transport Server Implementation: - Denial of Service (Rapid Reset Mitigation Bypass): Earlier mitigations in gRPC-Go for HTTP/2 Rapid Reset attacks were insufficient. They only applied threshold checks to items resulting in control frames written back to the wire (like SETTINGS ACKs or server-initiated RST_STREAMs), allowing attackers to bypass these limits during client-initiated stream resets [3]. To remediate these issues, users are advised to update to gRPC-Go v1.82.1 or later [1][2]. Additional mitigations for the HTTP/2 DoS include configuring upstream reverse proxies or load balancers (e.g., Envoy) with strict HTTP/2 max_concurrent_streams limits and active rate limiting on RST_STREAM frequency [3]. For xDS RBAC, operators should ensure that upstream xDS management servers do not push policies containing the problematic fields or rule configurations until the server has been patched [3].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Go module/version files =="
git ls-files | rg '(^|/)(go\.mod|go\.sum|\.go)$' | head -200

echo
echo "== imports mentioning affected xDS/HTTP/2 identifiers =="
rg -n "google\.golang\.org/grpc/internal/xds|google\.golang\.org/grpc/xds|xDS|xds|internal/xds|rbac|RBAC|Http2|HTTP/2|rapid|reset" -S . --glob '*.go' --glob 'go.mod' --glob '*.md' || true

echo
echo "== go.mod grpc entry =="
rg -n "google\.golang\.org/grpc" go.mod go.sum || true

Repository: openshift/cluster-samples-operator

Length of output: 50391


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== go.mod gRPC dependency chain =="
python3 - <<'PY'
from pathlib import Path
p=Path('go.mod')
text=p.read_text()
for line in text.splitlines():
    if 'google.golang.org/grpc' in line or 'google.golang.org/grpc/internal/xds' in line or 'google.golang.org/grpc/xds' in line:
        print(line)
PY

echo
echo "== non-vendor Go imports from google.golang.org/ packages =="
rg -n '^\t?import|^\t?"' --glob '*.go' . | rg 'google\.golang\.org/(grpc|protobuf|api|apis|genproto)' | head -200 || true

echo
echo "== direct source references to GRPAv0 internal/xds paths in non-vendor files =="
rg -n "google\.golang\.org/grpc/internal/xds|google\.golang\.org/grpc/xds|xDS" --glob '*.go' --glob '!vendor/**' . || true

echo
echo "== grpc serviceconfig usage in app package =="
rg -n "google\.golang\.org/grpc/serviceconfig|serviceconfig" --glob '*.go' --glob '!vendor/**' . || true

Repository: openshift/cluster-samples-operator

Length of output: 23161


Upgrade the vulnerable gRPC dependency before release.

google.golang.org/grpc v1.79.3 is below the fixed version v1.82.1 for GO-2026-6061. The dependency is still in the module graph as an indirect path, so update the dependency chain to v1.82.1 or later and regenerate go.mod/dependency metadata.

🤖 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 92, Update the google.golang.org/grpc dependency from v1.79.3
to v1.82.1 or later through the module dependency chain, then regenerate go.mod
and related dependency metadata so the module graph consistently reflects the
fixed version.

Sources: Path instructions, Linters/SAST tools

@aroyoredhat

Copy link
Copy Markdown
Contributor

/retitle OCPBUGS-105319: update kubernetes api to v0.36.3

@openshift-ci openshift-ci Bot changed the title update kubernetes api to v0.36.3 OCPBUGS-105319: update kubernetes api to v0.36.3 Aug 6, 2026
@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels Aug 6, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@rhdmalone: This pull request references Jira Issue OCPBUGS-105319, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

No GitHub users were found matching the public email listed for the QA contact in Jira (aroyo@redhat.com), skipping review request.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

update kubernetes api to v0.36.3
Jira: to do

Summary by CodeRabbit

  • Chores
  • Updated the application runtime and build environment to newer platform releases.
  • Upgraded the Go version to 1.26.
  • Updated monitoring, Kubernetes, gRPC, protobuf, and related supporting libraries.
  • Replaced the legacy gRPC Prometheus integration with a newer monitoring provider.

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 openshift-eng/jira-lifecycle-plugin repository.

@aroyoredhat

Copy link
Copy Markdown
Contributor

/retest-required

@rhdmalone

Copy link
Copy Markdown
Contributor Author

/test e2e-aws

@openshift-ci

openshift-ci Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@rhdmalone: all tests passed!

Full PR test history. Your PR dashboard.

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. I understand the commands that are listed here.

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

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants