[package] name = "kube-client" description = "Kubernetes client" version.workspace = true authors.workspace = true repository.workspace = true readme.workspace = true license.workspace = true edition.workspace = true rust-version.workspace = true keywords = ["kubernetes", "client",] categories = ["web-programming::http-client", "network-programming", "api-bindings"] [features] default = ["client"] rustls-tls = ["rustls", "rustls-pemfile", "hyper-rustls", "hyper-http-proxy?/rustls-tls-native-roots"] webpki-roots = ["hyper-rustls/webpki-roots"] aws-lc-rs = ["rustls?/aws-lc-rs"] openssl-tls = ["openssl", "hyper-openssl"] ws = ["client", "tokio-tungstenite", "rand", "kube-core/ws", "tokio/macros"] kubelet-debug = ["ws", "kube-core/kubelet-debug"] oauth = ["client", "tame-oauth"] oidc = ["client", "form_urlencoded"] gzip = ["client", "tower-http/decompression-gzip"] client = ["config", "__non_core", "hyper", "hyper-util", "http-body", "http-body-util", "tower", "tower-http", "hyper-timeout", "chrono", "jsonpath-rust", "bytes", "futures", "tokio", "tokio-util", "either"] jsonpatch = ["kube-core/jsonpatch"] admission = ["kube-core/admission"] config = ["__non_core", "pem", "home"] socks5 = ["hyper-socks2"] http-proxy = ["hyper-http-proxy"] unstable-client = [] # private feature sets; do not use __non_core = ["tracing", "serde_yaml", "base64"] [package.metadata.docs.rs] features = ["client", "rustls-tls", "openssl-tls", "ws", "oauth", "oidc", "jsonpatch", "admission", "k8s-openapi/latest", "socks5", "unstable-client", "http-proxy"] # Define the configuration attribute `docsrs`. Used to enable `doc_cfg` feature. rustdoc-args = ["--cfg", "docsrs"] [lints] workspace = true [dependencies] base64 = { workspace = true, optional = true } chrono = { workspace = true, optional = true } home = { workspace = true, optional = true } serde = { workspace = true, features = ["derive"] } serde_json.workspace = true serde_yaml = { workspace = true, optional = true } http.workspace = true http-body = { workspace = true, optional = true } http-body-util = { workspace = true, optional = true } either = { workspace = true, optional = true } thiserror.workspace = true futures = { workspace = true, optional = true, features = ["std"] } pem = { workspace = true, optional = true } openssl = { workspace = true, optional = true } rustls = { workspace = true, optional = true } rustls-pemfile = { workspace = true, optional = true } bytes = { workspace = true, optional = true } tokio = { workspace = true, features = ["time", "signal", "sync"], optional = true } kube-core = { path = "../kube-core", version = "=0.97.0" } jsonpath-rust = { workspace = true, optional = true } tokio-util = { workspace = true, features = ["io", "codec"], optional = true } hyper = { workspace = true, features = ["client", "http1"], optional = true } hyper-http-proxy = { version = "1", default-features = false, optional = true } hyper-util = { workspace = true, features = ["client", "client-legacy", "http1", "tokio"], optional = true } hyper-rustls = { workspace = true, features = ["http1", "logging", "native-tokio", "ring", "tls12"], optional = true } hyper-socks2 = { workspace = true, optional = true } tokio-tungstenite = { workspace = true, optional = true } tower = { workspace = true, features = ["buffer", "filter", "util"], optional = true } tower-http = { workspace = true, features = ["auth", "map-response-body", "trace"], optional = true } hyper-timeout = { workspace = true, optional = true } tame-oauth = { workspace = true, features = ["gcp"], optional = true } rand = { workspace = true, optional = true } secrecy = { workspace = true } tracing = { workspace = true, features = ["log"], optional = true } hyper-openssl = { workspace = true, features = ["client-legacy"], optional = true } form_urlencoded = { workspace = true, optional = true } k8s-openapi= { workspace = true, features = [] } [dev-dependencies] hyper = { workspace = true, features = ["server"] } kube = { path = "../kube", features = ["derive", "client", "ws"], version = "<1.0.0, >=0.61.0" } tempfile.workspace = true futures = { workspace = true, features = ["async-await"] } tokio = { workspace = true, features = ["full"] } schemars.workspace = true tokio-test.workspace = true tower-test.workspace = true k8s-openapi= { workspace = true, features = ["latest"] }