A part of https://github.com/timberio/vector/issues/1142#issuecomment-591418493.
We have dependencies that we couldn't upgrade because they've switched to futures 0.3. We can adopt them now since we've switched to tokio-compat.
Here's a list of dependencies that are themselves blocked on futures 0.1 and/or tokio 0.1. Some crates are blocked specifically on hyper, so we'll sort them out as part of #2117.
goauth - https://github.com/durch/rust-goauth/issues/8shiplift - https://github.com/softprops/shiplift/issues/185./vector/lib/tracing-metrics - we'll take care of it as part of #2117pulsar - https://github.com/wyyerd/pulsar-rs/issues/55tokio-retry - no issue yet, https://github.com/srijs/rust-tokio-retryCrates that are ready for the upgrade:
hyperhyper-tlshyper-opensslreqwestrusoto_*kubehyperlocalwarptrust-dns and trust-dns-*snafustream-canceltokio-codec (implemented as tokio_util::codec)tokio-signal - now at tokio itselftokio-threadpool - now at tokio itselfhotmic - this crate itself is renamed to metrics, and it in turn has upgraded alreadytower-testtower and tower-*tracing-towertracing-futureswantLists are now complete.
We're not in a bad position, we shall proceed with hyper upgrade, followed by the rest of the dependencies.
$ cargo tree -p tokio:0.1.22 -i
tokio v0.1.22
โโโ hyper v0.12.35
โ โโโ hyper-openssl v0.7.1
โ โ โโโ shiplift v0.6.0
โ โ โโโ vector v0.9.0 (.../vector)
โ โโโ hyper-tls v0.3.2
โ โ โโโ reqwest v0.9.24
โ โ โ โโโ goauth v0.6.1
โ โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โ โโโ kube v0.16.1
โ โ โ [dev-dependencies]
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rusoto_core v0.41.0
โ โ โโโ rusoto_cloudwatch v0.41.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rusoto_firehose v0.41.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rusoto_kinesis v0.41.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rusoto_logs v0.41.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rusoto_s3 v0.41.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rusoto_sts v0.41.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ hyperlocal v0.6.0
โ โ โโโ shiplift v0.6.0 (*)
โ โโโ reqwest v0.9.24 (*)
โ โโโ rusoto_core v0.41.0 (*)
โ โโโ rusoto_credential v0.41.1
โ โ โโโ rusoto_core v0.41.0 (*)
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ shiplift v0.6.0 (*)
โ โโโ warp v0.1.21 (git+https://github.com/timberio/warp?branch=0.1.x#017965c627047bf0e53062940e7def127cb21649)
โ โโโ vector v0.9.0 (.../vector) (*)
โ [dev-dependencies]
โ โโโ tracing-metrics v0.1.0 (.../vector/lib/tracing-metrics)
โ โโโ vector v0.9.0 (.../vector) (*)
โโโ hyperlocal v0.6.0 (*)
โโโ pulsar v0.3.0
โ โโโ vector v0.9.0 (.../vector) (*)
โโโ reqwest v0.9.24 (*)
โโโ rusoto_core v0.41.0 (*)
โโโ shiplift v0.6.0 (*)
โโโ trust-dns v0.17.0
โ โโโ trust-dns-server v0.17.0
โ [dev-dependencies]
โ โโโ vector v0.9.0 (.../vector) (*)
โ [dev-dependencies]
โ โโโ vector v0.9.0 (.../vector) (*)
โโโ trust-dns-resolver v0.12.0
โ โโโ pulsar v0.3.0 (*)
โ โโโ trust-dns-server v0.17.0 (*)
โ โโโ vector v0.9.0 (.../vector) (*)
โโโ trust-dns-server v0.17.0 (*)
โโโ vector v0.9.0 (.../vector) (*)
โโโ warp v0.1.21 (git+https://github.com/timberio/warp?branch=0.1.x#017965c627047bf0e53062940e7def127cb21649) (*)
[dev-dependencies]
โโโ tracing-metrics v0.1.0 (.../vector/lib/tracing-metrics) (*)
$ cargo tree -i -p futures:0.1.29
futures v0.1.29
โโโ futures-cpupool v0.1.8
โ โโโ hyper v0.12.35
โ โโโ hyper-openssl v0.7.1
โ โ โโโ shiplift v0.6.0
โ โ โโโ vector v0.9.0 (.../vector)
โ โโโ hyper-tls v0.3.2
โ โ โโโ reqwest v0.9.24
โ โ โ โโโ goauth v0.6.1
โ โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โ โโโ kube v0.16.1
โ โ โ [dev-dependencies]
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rusoto_core v0.41.0
โ โ โโโ rusoto_cloudwatch v0.41.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rusoto_firehose v0.41.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rusoto_kinesis v0.41.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rusoto_logs v0.41.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rusoto_s3 v0.41.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rusoto_sts v0.41.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ hyperlocal v0.6.0
โ โ โโโ shiplift v0.6.0 (*)
โ โโโ reqwest v0.9.24 (*)
โ โโโ rusoto_core v0.41.0 (*)
โ โโโ rusoto_credential v0.41.1
โ โ โโโ rusoto_core v0.41.0 (*)
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ shiplift v0.6.0 (*)
โ โโโ warp v0.1.21 (git+https://github.com/timberio/warp?branch=0.1.x#017965c627047bf0e53062940e7def127cb21649)
โ โโโ vector v0.9.0 (.../vector) (*)
โ [dev-dependencies]
โ โโโ tracing-metrics v0.1.0 (.../vector/lib/tracing-metrics)
โ โโโ vector v0.9.0 (.../vector) (*)
โโโ futures-timer v0.1.1
โ โโโ pulsar v0.3.0
โ โโโ vector v0.9.0 (.../vector) (*)
โโโ futures-util v0.3.4
โ โโโ futures v0.3.4
โ โ โโโ file-source v0.1.0 (.../vector/lib/file-source)
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ rdkafka v0.23.1
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ futures-executor v0.3.4
โ โ โโโ futures v0.3.4 (*)
โ โโโ h2 v0.2.2
โ โ โโโ hyper v0.13.4
โ โ โโโ hyper-openssl v0.8.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ hyper-tls v0.4.1
โ โ โ โโโ reqwest v0.10.4
โ โ โ [dev-dependencies]
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ reqwest v0.10.4 (*)
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ hyper v0.13.4 (*)
โ โโโ reqwest v0.10.4 (*)
โ โโโ tokio-compat v0.1.5
โ โโโ vector v0.9.0 (.../vector) (*)
โโโ futures01 v0.1.29
โ โโโ snafu v0.4.4
โ โโโ vector v0.9.0 (.../vector) (*)
โโโ goauth v0.6.1 (*)
โโโ h2 v0.1.26
โ โโโ hyper v0.12.35 (*)
โโโ http-body v0.1.0
โ โโโ hyper v0.12.35 (*)
โโโ hyper v0.12.35 (*)
โโโ hyper-openssl v0.7.1 (*)
โโโ hyper-tls v0.3.2 (*)
โโโ hyperlocal v0.6.0 (*)
โโโ pulsar v0.3.0 (*)
โโโ reqwest v0.9.24 (*)
โโโ rusoto_cloudwatch v0.41.0 (*)
โโโ rusoto_core v0.41.0 (*)
โโโ rusoto_credential v0.41.1 (*)
โโโ rusoto_firehose v0.41.0 (*)
โโโ rusoto_kinesis v0.41.0 (*)
โโโ rusoto_logs v0.41.0 (*)
โโโ rusoto_s3 v0.41.0 (*)
โโโ rusoto_sts v0.41.0 (*)
โโโ shiplift v0.6.0 (*)
โโโ stream-cancel v0.4.4
โ โโโ vector v0.9.0 (.../vector) (*)
โโโ tokio v0.1.22
โ โโโ hyper v0.12.35 (*)
โ โโโ hyperlocal v0.6.0 (*)
โ โโโ pulsar v0.3.0 (*)
โ โโโ reqwest v0.9.24 (*)
โ โโโ rusoto_core v0.41.0 (*)
โ โโโ shiplift v0.6.0 (*)
โ โโโ trust-dns v0.17.0
โ โ โโโ trust-dns-server v0.17.0
โ โ [dev-dependencies]
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ [dev-dependencies]
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ trust-dns-resolver v0.12.0
โ โ โโโ pulsar v0.3.0 (*)
โ โ โโโ trust-dns-server v0.17.0 (*)
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ trust-dns-server v0.17.0 (*)
โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ warp v0.1.21 (git+https://github.com/timberio/warp?branch=0.1.x#017965c627047bf0e53062940e7def127cb21649) (*)
โ [dev-dependencies]
โ โโโ tracing-metrics v0.1.0 (.../vector/lib/tracing-metrics) (*)
โโโ tokio-buf v0.1.1
โ โโโ http-body v0.1.0 (*)
โ โโโ hyper v0.12.35 (*)
โโโ tokio-codec v0.1.1
โ โโโ codec v0.1.0 (.../vector/lib/codec)
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ pulsar v0.3.0 (*)
โ โโโ shiplift v0.6.0 (*)
โ โโโ tokio v0.1.22 (*)
โ โโโ tokio-udp v0.1.5
โ โ โโโ tokio v0.1.22 (*)
โ โ โโโ trust-dns v0.17.0 (*)
โ โ โโโ trust-dns-proto v0.8.0
โ โ โ โโโ trust-dns v0.17.0 (*)
โ โ โ โโโ trust-dns-resolver v0.12.0 (*)
โ โ โ โโโ trust-dns-server v0.17.0 (*)
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โ [dev-dependencies]
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ trust-dns-resolver v0.12.0 (*)
โ โ โโโ trust-dns-server v0.17.0 (*)
โ โโโ tokio-uds v0.2.5
โ โ โโโ hyperlocal v0.6.0 (*)
โ โ โโโ tokio v0.1.22 (*)
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ vector v0.9.0 (.../vector) (*)
โโโ tokio-compat v0.1.5 (*)
โโโ tokio-current-thread v0.1.6
โ โโโ tokio v0.1.22 (*)
โ โโโ tokio-compat v0.1.5 (*)
โโโ tokio-executor v0.1.9
โ โโโ hyper v0.12.35 (*)
โ โโโ reqwest v0.9.24 (*)
โ โโโ tokio v0.1.22 (*)
โ โโโ tokio-compat v0.1.5 (*)
โ โโโ tokio-current-thread v0.1.6 (*)
โ โโโ tokio-reactor v0.1.11
โ โ โโโ hyper v0.12.35 (*)
โ โ โโโ tokio v0.1.22 (*)
โ โ โโโ tokio-compat v0.1.5 (*)
โ โ โโโ tokio-process v0.2.4
โ โ โ โโโ rusoto_credential v0.41.1 (*)
โ โ โโโ tokio-signal v0.2.7
โ โ โ โโโ tokio-process v0.2.4 (*)
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ tokio-tcp v0.1.3
โ โ โ โโโ hyper v0.12.35 (*)
โ โ โ โโโ tokio v0.1.22 (*)
โ โ โ โโโ trust-dns v0.17.0 (*)
โ โ โ โโโ trust-dns-proto v0.8.0 (*)
โ โ โ โโโ trust-dns-resolver v0.12.0 (*)
โ โ โ โโโ trust-dns-server v0.17.0 (*)
โ โ โโโ tokio-udp v0.1.5 (*)
โ โ โโโ tokio-uds v0.2.5 (*)
โ โ โโโ trust-dns-proto v0.8.0 (*)
โ โ โโโ trust-dns-server v0.17.0 (*)
โ โโโ tokio-signal v0.2.7 (*)
โ โโโ tokio-threadpool v0.1.17
โ โ โโโ hyper v0.12.35 (*)
โ โ โโโ reqwest v0.9.24 (*)
โ โ โโโ tokio v0.1.22 (*)
โ โ โโโ tokio-fs v0.1.6
โ โ โ โโโ tokio v0.1.22 (*)
โ โ โโโ warp v0.1.21 (git+https://github.com/timberio/warp?branch=0.1.x#017965c627047bf0e53062940e7def127cb21649) (*)
โ โโโ tokio-timer v0.2.12
โ โ โโโ hyper v0.12.35 (*)
โ โ โโโ reqwest v0.9.24 (*)
โ โ โโโ rusoto_core v0.41.0 (*)
โ โ โโโ rusoto_credential v0.41.1 (*)
โ โ โโโ tokio v0.1.22 (*)
โ โ โโโ tokio-compat v0.1.5 (*)
โ โ โโโ tokio-retry v0.2.0
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ tokio01-test v0.1.1
โ โ โ [dev-dependencies]
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ tower-limit v0.1.1
โ โ โ โโโ tower v0.1.1
โ โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โ โโโ tower-retry v0.1.0
โ โ โ โโโ tower v0.1.1 (*)
โ โ โโโ tower-timeout v0.1.1
โ โ โ โโโ tower v0.1.1 (*)
โ โ โโโ trust-dns-proto v0.8.0 (*)
โ โ โโโ trust-dns-server v0.17.0 (*)
โ โโโ tokio01-test v0.1.1 (*)
โ โโโ tower-buffer v0.1.2
โ โ โโโ tower v0.1.1 (*)
โ โโโ trust-dns-proto v0.8.0 (*)
โ โโโ trust-dns-resolver v0.12.0 (*)
โ โโโ trust-dns-server v0.17.0 (*)
โโโ tokio-fs v0.1.6 (*)
โโโ tokio-io v0.1.12
โ โโโ h2 v0.1.26 (*)
โ โโโ hyper v0.12.35 (*)
โ โโโ hyper-openssl v0.7.1 (*)
โ โโโ hyper-tls v0.3.2 (*)
โ โโโ hyperlocal v0.6.0 (*)
โ โโโ reqwest v0.9.24 (*)
โ โโโ shiplift v0.6.0 (*)
โ โโโ tokio v0.1.22 (*)
โ โโโ tokio-codec v0.1.1 (*)
โ โโโ tokio-fs v0.1.6 (*)
โ โโโ tokio-openssl v0.3.0
โ โ โโโ hyper-openssl v0.7.1 (*)
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ tokio-process v0.2.4 (*)
โ โโโ tokio-reactor v0.1.11 (*)
โ โโโ tokio-signal v0.2.7 (*)
โ โโโ tokio-tcp v0.1.3 (*)
โ โโโ tokio-udp v0.1.5 (*)
โ โโโ tokio-uds v0.2.5 (*)
โ โโโ tower-util v0.1.0
โ โ โโโ tower v0.1.1 (*)
โ โ โโโ tracing-tower v0.1.0 (git+https://github.com/tokio-rs/tracing?rev=65547d8809fcc726b8187db85b23c42e32ef5dce#65547d8809fcc726b8187db85b23c42e32ef5dce)
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ trust-dns-proto v0.8.0 (*)
โ โโโ trust-dns-server v0.17.0 (*)
โ โโโ warp v0.1.21 (git+https://github.com/timberio/warp?branch=0.1.x#017965c627047bf0e53062940e7def127cb21649) (*)
โโโ tokio-openssl v0.3.0 (*)
โโโ tokio-process v0.2.4 (*)
โโโ tokio-reactor v0.1.11 (*)
โโโ tokio-retry v0.2.0 (*)
โโโ tokio-signal v0.2.7 (*)
โโโ tokio-sync v0.1.7
โ โโโ hotmic v0.8.2
โ โ โโโ tracing-metrics v0.1.0 (.../vector/lib/tracing-metrics) (*)
โ โ โโโ vector v0.9.0 (.../vector) (*)
โ โโโ tokio v0.1.22 (*)
โ โโโ tokio-reactor v0.1.11 (*)
โ โโโ tower-buffer v0.1.2 (*)
โ โโโ tower-limit v0.1.1 (*)
โ โโโ tower-test v0.1.0
โ [dev-dependencies]
โ โโโ vector v0.9.0 (.../vector) (*)
โโโ tokio-tcp v0.1.3 (*)
โโโ tokio-threadpool v0.1.17 (*)
โโโ tokio-timer v0.2.12 (*)
โโโ tokio-udp v0.1.5 (*)
โโโ tokio-uds v0.2.5 (*)
โโโ tokio01-test v0.1.1 (*)
โโโ tower v0.1.1 (*)
โโโ tower-buffer v0.1.2 (*)
โโโ tower-discover v0.1.0
โ โโโ tower v0.1.1 (*)
โโโ tower-layer v0.1.0
โ โโโ tower v0.1.1 (*)
โ โโโ tower-buffer v0.1.2 (*)
โ โโโ tower-limit v0.1.1 (*)
โ โโโ tower-load-shed v0.1.0
โ โ โโโ tower v0.1.1 (*)
โ โโโ tower-retry v0.1.0 (*)
โ โโโ tower-timeout v0.1.1 (*)
โ โโโ tower-util v0.1.0 (*)
โ โโโ tracing-tower v0.1.0 (git+https://github.com/tokio-rs/tracing?rev=65547d8809fcc726b8187db85b23c42e32ef5dce#65547d8809fcc726b8187db85b23c42e32ef5dce) (*)
โโโ tower-limit v0.1.1 (*)
โโโ tower-load-shed v0.1.0 (*)
โโโ tower-retry v0.1.0 (*)
โโโ tower-service v0.2.0
โ โโโ tower v0.1.1 (*)
โ โโโ tower-buffer v0.1.2 (*)
โ โโโ tower-discover v0.1.0 (*)
โ โโโ tower-layer v0.1.0 (*)
โ โโโ tower-limit v0.1.1 (*)
โ โโโ tower-load-shed v0.1.0 (*)
โ โโโ tower-retry v0.1.0 (*)
โ โโโ tower-test v0.1.0 (*)
โ โโโ tower-timeout v0.1.1 (*)
โ โโโ tower-util v0.1.0 (*)
โ โโโ tracing-tower v0.1.0 (git+https://github.com/tokio-rs/tracing?rev=65547d8809fcc726b8187db85b23c42e32ef5dce#65547d8809fcc726b8187db85b23c42e32ef5dce) (*)
โโโ tower-test v0.1.0 (*)
โโโ tower-timeout v0.1.1 (*)
โโโ tower-util v0.1.0 (*)
โโโ tracing-futures v0.2.0 (git+https://github.com/tokio-rs/tracing?rev=65547d8809fcc726b8187db85b23c42e32ef5dce#65547d8809fcc726b8187db85b23c42e32ef5dce)
โ โโโ tracing-tower v0.1.0 (git+https://github.com/tokio-rs/tracing?rev=65547d8809fcc726b8187db85b23c42e32ef5dce#65547d8809fcc726b8187db85b23c42e32ef5dce) (*)
โโโ tracing-futures v0.2.1
โ โโโ vector v0.9.0 (.../vector) (*)
โ [dev-dependencies]
โ โโโ tracing-metrics v0.1.0 (.../vector/lib/tracing-metrics) (*)
โโโ tracing-tower v0.1.0 (git+https://github.com/tokio-rs/tracing?rev=65547d8809fcc726b8187db85b23c42e32ef5dce#65547d8809fcc726b8187db85b23c42e32ef5dce) (*)
โโโ trust-dns v0.17.0 (*)
โโโ trust-dns-proto v0.8.0 (*)
โโโ trust-dns-resolver v0.12.0 (*)
โโโ trust-dns-server v0.17.0 (*)
โโโ vector v0.9.0 (.../vector) (*)
โโโ want v0.2.0
โ โโโ hyper v0.12.35 (*)
โโโ warp v0.1.21 (git+https://github.com/timberio/warp?branch=0.1.x#017965c627047bf0e53062940e7def127cb21649) (*)
[dev-dependencies]
โโโ tracing-metrics v0.1.0 (.../vector/lib/tracing-metrics) (*)
@LucioFranco can you update this issue to reflect your work? Please add any missing dependencies and turn the list into checkboxes.
Okay quick update on upgrade progress.
So far there have been two PRs merged #2294 and #2362.
Currently the process we are going with is to upgrade sink util in as small units of work as possible to ensure we don't introduce any regressions. Once, the util have been upgraded it should be quite trivial to upgrade all our sinks.
Here is a list for upgrade progress in relation to sinks which include the most abstractions and the most upgrade work in general.
[ ] sink/util
http (#2294)service (#2362) retries (#2362)rusoto (we can still use the old library with futures but will need to use task compat to get http body to work) (#2555)sink/BatchedHttpSinktest (#2762)tcp/unix/udp (these should be done in a group since they all affect the socket sink)[ ] sink
aws_cloudwatch_logs (#2830)aws_cloudwatch_metrics (#2806)aws_kinesis_streams (#2806)aws_kinesis_firehose (#2735)aws_s3 (#2806)influxdb_metrics (#2474)statsd (#2805)gcp_cloud_storage (#2758)HttpSinkgcp_pubsub (https://github.com/timberio/vector/pull/2688)gcp_stackdriver (https://github.com/timberio/vector/pull/2688)datadog_metrics (https://github.com/timberio/vector/pull/2688)clickhouse (https://github.com/timberio/vector/pull/2578)elasticsearch (https://github.com/timberio/vector/pull/2688)honeycomb (https://github.com/timberio/vector/pull/2688)http (https://github.com/timberio/vector/pull/2688)logdna (https://github.com/timberio/vector/pull/2688)loki (https://github.com/timberio/vector/pull/2688)sematext_logs (https://github.com/timberio/vector/pull/2688)splunk_hec (https://github.com/timberio/vector/pull/2688)kafkapulsarsocketpapertrailvectorprometheus (since this is a http server the upgrade looks different but should be pretty straight forward.I've broken this up into individual work that is grouped by logical type. Most of the sink/util work needs to be done step by step, but once we have most of that out with two versions aka upgraded and not upgraded. We can slowly start to migrate sinks to use the updated version without much worry about interfering with each others work.
All transforms and sources should be able to be upgraded individually since they don't have many shared abstractions but once I get through util upgrade I'll map out how we can tackle it.
You may notice that sink isn't included in this list, for now I'd like to avoid upgrading our sink trait or internal batching machinery until we have figured out in #2122.
It shouldn't require too much. The configuration part will probably be mostly effected, followed by usages of structs that we get from bollard. The api is quite similar, as they are interfacing with the same docker api. There could be some feature mismatch, but all of them should be addressable from our side.
So, yes, moving to bollard should certainly be possible, as a plus bollard has one optimization feature that shiplift doesn't.
Closing in favor of the above linked issues.