feat: Add kube-http-proxy and kube-socks5 Cargo features - #1269
Conversation
The default features are unchanged. This allows us to enable these features in stackablectl (and elsewhere). Instead of ignoring a HTTP(S)_PROXY variable kube just refuses to build a client if it sees them but not the feature.
Afair, it was not. It most likely slipped by unnoticed. |
NO_PROXY is not respected by kube-client for the Kubernetes API connection (after #453)SummaryAfter #453 re-enabled Both Environment
KubeconfigNo apiVersion: v1
clusters:
- cluster:
certificate-authority-data: [REDACTED]
server: https://127.0.0.1:6443
name: default
contexts:
- context:
cluster: default
user: default
name: default
current-context: default
kind: Config
users:
- name: default
user:
client-certificate-data: [REDACTED]
client-key-data: [REDACTED]Environment variablesBoth upper- and lowercase variants are set identically: Steps to Reproduce
Reference test 1: curl (same host, same env vars)curl explicitly logs that it evaluated Reference test 2: kubectl (official Go client, same kubeconfig, same env)
Failing case: stackablectl (same host, same kubeconfig, same env)Final error: Interesting contrast within the same runLater in the same run, a request to No equivalent "intercepts"/bypass decision is ever logged for the Expected behaviorRequests to Actual behaviorThe request is tunneled through the proxy and fails with Suspected cause
This is a known class of bug across Kubernetes client libraries in other languages, e.g.:
It's plausible a similar gap exists in the WorkaroundUnsetting AskCould someone confirm whether |
|
Thank you! We will first reproduce this locally and then work on a fix. |
Description
The default features are unchanged.
This allows us to enable these features in stackablectl (and elsewhere). Instead of ignoring a HTTP(S)_PROXY variable kube just refuses to build a client if it sees them but not the feature.
We moved stackablectl to a direct dependency on operator-rs in March via stackabletech/stackablectl#426
That PR unfortunately also dropped support for HTTP/SOCKS proxy. I cannot find any evidence of this being a concious choice.
When this is merged and released we can enable the feature in stackablectl.
Reported on Discord: https://discordapp.com/channels/796665978481803304/1078284084247265300/1544734994856026193
Definition of Done Checklist
Reviewer