[package] name = "bollard-next" description = "An asynchronous Docker daemon API" version = "0.18.1" authors = [ "Bollard contributors" ] license = "Apache-2.0" homepage = "https://github.com/fussybeaver/bollard" repository = "https://github.com/fussybeaver/bollard" documentation = "https://docs.rs/bollard" readme = "README.md" keywords = ["docker"] edition = "2021" [workspace] members = ["codegen/swagger", "codegen/proto", "."] [features] default = ["http", "pipe"] # Enable Buildkit-enabled docker image building buildkit = ["chrono", "num", "rand", "tokio/fs", "tokio-stream", "tokio-util/io", "tonic", "tower-service", "ssl", "bollard-next-stubs/buildkit", "bollard-buildkit-proto", "dep:async-stream", "dep:bitflags"] # Enable tests specifically for the http connector test_http = [] # Enable tests specifically for rustls test_ssl = ["dep:webpki-roots", "ssl_providerless"] test_ring = ["test_ssl", "ssl"] test_aws_lc_rs = ["test_ssl", "aws-lc-rs"] # Enable tests specifically for macos test_macos = [] # Enable tests specifically for buildkit's sshforward functionality test_sshforward = [] # Enable JSON payload in deserialization errors json_data_content = [] # Enable rustls / ssl ssl = ["ssl_providerless", "rustls/ring"] aws-lc-rs = ["ssl_providerless", "rustls/aws-lc-rs"] ssl_providerless = ["home", "hyper-rustls", "rustls", "rustls-native-certs", "rustls-pemfile", "rustls-pki-types", "http"] webpki = ["ssl", "dep:webpki-roots"] chrono = ["dep:chrono", "bollard-next-stubs/chrono"] time = ["dep:time", "bollard-next-stubs/time"] http = ["hyper-util"] pipe = ["hyperlocal", "hyper-named-pipe"] utoipa = ["dep:utoipa", "bollard-next-stubs/utoipa"] schemars = ["dep:schemars", "bollard-next-stubs/schemars"] [dependencies] base64 = "0.22" bollard-next-stubs = { version = "=1.45.1-rc.26.0.1", default-features = false } bollard-buildkit-proto = { path = "codegen/proto", version = "=0.4.0", optional = true } bytes = "1" chrono = { version = "0.4", default-features = false, features = ["std", "clock", "serde"], optional = true } futures-core = "0.3" futures-util = "0.3" hex = "0.4" home = { version = "0.5", optional = true } http = "1.1" http-body-util = "0.1" hyper = { version = "1.3", features = ["client", "http1"] } hyper-rustls = { version = "0.27", optional = true, default-features = false , features = ["http1"]} hyper-util = { version = "0.1.5", optional = true, features = ["http1", "client-legacy", "tokio"] } log = "0.4" pin-project-lite = "0.2" num = { version = "0.4", optional = true } rand = { version = "0.8", optional = true } rustls = { version = "0.23", default-features = false, features = ["std"], optional = true} rustls-native-certs = { version = "0.8.0", optional = true } rustls-pemfile = { version = "2.1", optional = true } rustls-pki-types = { version = "1.7", optional = true } serde = "1.0" serde_derive = "1.0" serde_json = "1.0" serde_repr = "0.1" serde_urlencoded = "0.7" tokio = { version = "1.38", features = ["time", "net", "io-util"] } tonic = { version = "0.12", optional = true } thiserror = "1.0" time = { version = "0.3", features = ["formatting", "parsing"], optional = true } tokio-util = { version = "0.7", features = ["codec"] } tokio-stream = { version = "0.1", features = ["net"], optional = true } tower-service = { version = "0.3", optional = true } url = "2.5" webpki-roots = { version = "0.26", optional = true } async-stream = { version = "0.3.5", optional = true } bitflags = { version = "2.6.0", optional = true } schemars = { version = "0.8", optional = true } utoipa = { version = "5", features = ["preserve_order"], optional = true } [dev-dependencies] flate2 = "1.0" tar = "0.4" tokio = { version = "1.38", features = ["fs", "rt-multi-thread", "macros"] } tokio-util = { version = "0.7", features = ["io"] } yup-hyper-mock = { version = "8.0.0" } once_cell = "1.19" [target.'cfg(unix)'.dependencies] hyperlocal = { version = "0.9.0", optional = true } [target.'cfg(unix)'.dev-dependencies] termion = "4.0" [target.'cfg(windows)'.dependencies] hyper-named-pipe = { version = "0.1.0", optional = true } winapi = { version = "0.3.9", features = ["winerror"] } tower-service = { version = "0.3" } [package.metadata.docs.rs] features = ["ssl"] [patch.crates-io] bollard-next-stubs = { path = "codegen/swagger" }