You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When building with default-features = false in Cargo.toml we end up removing the default tls stack. This is intended, but the failure mode that results from this is not intended.
Basically, Config::incluster succeeds because we can parse the cert and read the evars, however the Client builder ends up not chaining on an ssl connector because it's not in the dependency tree (effectively skipping this crucial piece of code).
A controller i tested booted up, and the controller basically froze as a result.
Possible solution
I think we should change the client builder to fail if there are no tls stacks WHEN there are tls parameters that can be found in the Config (because anonymous auth exists and we don't need to break this). Maybe some kind of AuthInfo::needs_tls fn? AuthInfo basically has all the state.
EDIT: better to just check if ConfigExt::auth_layer() returns None.
* Make rustls-tls the default tls stack feature
Signed-off-by: clux <sszynrae@gmail.com>
* try unhacking windows ci for rustls
Signed-off-by: clux <sszynrae@gmail.com>
* invert the readme on tls
Signed-off-by: clux <sszynrae@gmail.com>
* disallow Client construction that requires auth when no tls stacks present
fixes#1275
Signed-off-by: clux <sszynrae@gmail.com>
* fix defaults in examples also
Signed-off-by: clux <sszynrae@gmail.com>
* properly fix example defaults
Signed-off-by: clux <sszynrae@gmail.com>
* also force TlsRequired when cluster_url is https scheme
Signed-off-by: clux <sszynrae@gmail.com>
---------
Signed-off-by: clux <sszynrae@gmail.com>
Signed-off-by: Eirik A <sszynrae@gmail.com>
Current and expected behavior
When building with
default-features = false
inCargo.toml
we end up removing the default tls stack. This is intended, but the failure mode that results from this is not intended.Basically,
Config::incluster
succeeds because we can parse the cert and read the evars, however the Client builder ends up not chaining on an ssl connector because it's not in the dependency tree (effectively skipping this crucial piece of code).A controller i tested booted up, and the controller basically froze as a result.
Possible solution
I think we should change the client builder to fail if there are no tls stacks WHEN there are tls parameters that can be found in the
Config
(because anonymous auth exists and we don't need to break this).Maybe some kind ofAuthInfo::needs_tls
fn?AuthInfo
basically has all the state.EDIT: better to just check if
ConfigExt::auth_layer()
returnsNone
.Environment
incluster
Configuration and features
Affected crates
kube-client
Would you like to work on fixing this bug?
maybe
The text was updated successfully, but these errors were encountered: