Skip to content

fix(deps): pin kubernetes!=36.0.0 due to broken bearer-token auth - #2732

Merged
myakove merged 3 commits into
v4.19from
fix/pin-k8s-ne-36-backport-419
May 26, 2026
Merged

fix(deps): pin kubernetes!=36.0.0 due to broken bearer-token auth#2732
myakove merged 3 commits into
v4.19from
fix/pin-k8s-ne-36-backport-419

Conversation

@myakove

Copy link
Copy Markdown
Collaborator

What

Pin kubernetes dependency to >=31.0.0,!=36.0.0 to avoid a broken bearer-token auth regression in v36.0.0.

Why

kubernetes v36.0.0 has a regression where Configuration.auth_settings() no longer recognizes the authorization key in api_key, silently dropping the Authorization header from all API requests. This causes 401/403 errors for any authenticated API call.

The upstream fix (kubernetes-client/python#2585) is merged but not yet released. Exclude 36.0.0 until a patched v36.x ships.

Ref: kubernetes-client/python#2582

Done

  • Pin kubernetes!=36.0.0 in pyproject.toml
  • Add inline comment explaining the pin with issue URL
  • Run uv lock --upgrade

kubernetes v36.0.0 has a regression where auth_settings() no longer
recognizes the 'authorization' key in api_key, silently dropping the
Authorization header from all API requests.
The upstream fix (PR #2585) is merged but not yet released.
Exclude 36.0.0 until a patched v36.x ships.
Ref: kubernetes-client/python#2582
@qodo-code-review

Copy link
Copy Markdown

Review Summary by Qodo

Pin kubernetes!=36.0.0 to avoid broken bearer-token auth

🐞 Bug fix

Grey Divider

Walkthroughs

Description
• Pin kubernetes dependency to exclude v36.0.0 due to bearer-token auth regression
• v36.0.0 breaks Authorization header handling in API requests
• Upstream fix merged but not yet released in v36.x
• Added inline comment with issue reference for future removal
Diagram
flowchart LR
A["kubernetes v36.0.0<br/>broken bearer-token auth"] -->|"regression in<br/>auth_settings()"| B["Authorization header<br/>silently dropped"]
B -->|"causes"| C["401/403 errors<br/>on API calls"]
D["Pin kubernetes<br/>!=36.0.0"] -->|"excludes"| A
D -->|"allows"| E["v31.0.0 to v35.x<br/>and v36.0.1+"]
Loading

Grey Divider

File Changes

1. pyproject.toml Dependencies +1/-1

Exclude kubernetes v36.0.0 with explanatory comment

• Updated kubernetes dependency constraint from >=31.0.0 to >=31.0.0,!=36.0.0
• Added inline comment explaining the exclusion with reference to upstream issue #2582
• Comment notes that the pin should be removed once v36.0.1+ ships with the fix

pyproject.toml


Grey Divider

Qodo Logo

@qodo-code-review

qodo-code-reviewBot commented May 26, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0)📘 Rule violations (0)📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

@coderabbitai

coderabbitaiBot commented May 26, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 5dca03e5-5150-4cb2-900b-254fc5fc4675

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/pin-k8s-ne-36-backport-419

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 and usage tips.

@rh-bot-1

Copy link
Copy Markdown

Report bugs in Issues

Welcome! 🎉

This pull request will be automatically processed with the following features:

🔄 Automatic Actions

  • Reviewer Assignment: Reviewers are automatically assigned based on the OWNERS file in the repository root
  • Size Labeling: PR size labels (XS, S, M, L, XL, XXL) are automatically applied based on changes
  • Issue Creation: Disabled for this repository
  • Branch Labeling: Branch-specific labels are applied to track the target branch
  • Auto-verification: Auto-verified users have their PRs automatically marked as verified
  • Labels: All label categories are enabled (default configuration)

📋 Available Commands

PR Status Management

  • /wip - Mark PR as work in progress (adds WIP: prefix to title)
  • /wip cancel - Remove work in progress status
  • /hold - Block PR merging (approvers only)
  • /hold cancel - Unblock PR merging
  • /verified - Mark PR as verified
  • /verified cancel - Remove verification status
  • /reprocess - Trigger complete PR workflow reprocessing (useful if webhook failed or configuration changed)
  • /regenerate-welcome - Regenerate this welcome message

Review & Approval

  • /lgtm - Approve changes (looks good to me)
  • /approve - Approve PR (approvers only)
  • /automerge - Enable automatic merging when all requirements are met (maintainers and approvers only)
  • /assign-reviewers - Assign reviewers based on OWNERS file
  • /assign-reviewer @username - Assign specific reviewer
  • /check-can-merge - Check if PR meets merge requirements

Testing & Validation

  • /retest tox - Run Python test suite with tox
  • /retest python-module-install - Test Python package installation
  • /retest conventional-title - Validate commit message format
  • /retest all - Run all available tests

Cherry-pick Operations

  • /cherry-pick <branch> - Schedule cherry-pick to target branch when PR is merged
    • Multiple branches: /cherry-pick branch1 branch2 branch3

Label Management

  • /<label-name> - Add a label to the PR
  • /<label-name> cancel - Remove a label from the PR

✅ Merge Requirements

This PR will be automatically approved when the following conditions are met:

  1. Approval: /approve from at least one approver
  2. Status Checks: All required status checks must pass
  3. No Blockers: No wip, hold, has-conflicts labels and PR must be mergeable (no conflicts)
  4. Verified: PR must be marked as verified

📊 Review Process

Approvers and Reviewers

Approvers:

  • myakove
  • rnetser

Reviewers:

  • dbasunag
  • myakove
  • rnetser
Available Labels
  • hold
  • verified
  • wip
  • lgtm
  • approve
  • automerge
AI Features
  • Conventional Title: Mode: fix (claude/claude-opus-4-6[1m])
  • Cherry-Pick Conflict Resolution: Enabled (claude/claude-opus-4-6[1m])

💡 Tips

  • WIP Status: Use /wip when your PR is not ready for review
  • Verification: The verified label is removed on new commits unless the push is detected as a clean rebase
  • Cherry-picking: Cherry-pick labels are processed when the PR is merged
  • Permission Levels: Some commands require approver permissions
  • Auto-verified Users: Certain users have automatic verification and merge privileges

For more information, please refer to the project documentation or contact the maintainers.

@rh-bot-1
rh-bot-1 requested a review from dbasunagMay 26, 2026 15:42
@rh-bot-1
rh-bot-1 requested a review from rnetserMay 26, 2026 15:42
@rh-bot-1rh-bot-1 changed the title Pin kubernetes!=36.0.0 due to broken bearer-token authfix(deps): pin kubernetes!=36.0.0 due to broken bearer-token authMay 26, 2026
myakove added 2 commits May 26, 2026 18:55
python-benedict 0.34.0 dropped Python 3.9 support, using str|bytes
union syntax that requires Python 3.10+. Pin to <0.34.0 since v4.19
CI still tests against Python 3.9.
The project now requires Python 3.10 or later. This allows removing
version-specific dependency pins and conditional resolution markers
throughout the lock file, significantly simplifying dependency management.
Removed python-fsutil dependency and updated python-benedict to remove
its upper version bound since it now supports Python 3.10+.
@myakove
myakove merged commit 04c5bca into v4.19May 26, 2026
5 of 7 checks passed
@myakove
myakove deleted the fix/pin-k8s-ne-36-backport-419 branch May 26, 2026 17:47
Sign up for freeto 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.

2 participants

@myakove@rh-bot-1