shuttle icon indicating copy to clipboard operation
shuttle copied to clipboard

feature: feature-gate OpenSSL dependency

Open rimutaka opened this issue 2 years ago • 1 comments

sqlx has a dependency on native-tls. Not every environment has OpenSSL and whatever the Win equivalent is. rustls is more interoperable.

    │   │   ├── sqlx-rt v0.5.11
    │   │   │   ├── native-tls v0.2.8
    │   │   │   │   ├── log v0.4.14 (*)
    │   │   │   │   ├── openssl v0.10.38
    │   │   │   │   │   ├── bitflags v1.3.2
    │   │   │   │   │   ├── cfg-if v1.0.0
    │   │   │   │   │   ├── foreign-types v0.3.2
    │   │   │   │   │   │   └── foreign-types-shared v0.1.1
    │   │   │   │   │   ├── libc v0.2.120
    │   │   │   │   │   ├── once_cell v1.10.0
    │   │   │   │   │   └── openssl-sys v0.9.72
    │   │   │   │   │       └── libc v0.2.120
    │   │   │   │   │       [build-dependencies]
    │   │   │   │   │       ├── autocfg v1.1.0
    │   │   │   │   │       ├── cc v1.0.73
    │   │   │   │   │       └── pkg-config v0.3.24
    │   │   │   │   ├── openssl-probe v0.1.5
    │   │   │   │   └── openssl-sys v0.9.72 (*)
    │   │   │   ├── once_cell v1.10.0
    │   │   │   ├── tokio v1.17.0 (*)
    │   │   │   └── tokio-native-tls v0.3.0
    │   │   │       ├── native-tls v0.2.8 (*)
    │   │   │       └── tokio v1.17.0 (*)

https://github.com/getsynth/shuttle/blob/main/api/Cargo.toml#L19 explicitly states

sqlx = { version = "0.5", features = ["runtime-tokio-native-tls", "postgres"] }

which may be for a good reason.

Consider using runtime-tokio-rustls instead

rimutaka avatar Mar 23 '22 03:03 rimutaka

Hey @rimutaka this is a good point. Is this blocking you currently?

I'm going to add it to our roadmap. We'll use this issue as a general gauge of interest from the community.

christos-h avatar Apr 05 '22 15:04 christos-h

Not planned at the moment due to cargo-generate not supporting rustls

jonaro00 avatar Aug 17 '23 15:08 jonaro00

cargo-shuttle now uses rustls only, and the sqlx-related plugins allow selecting tls implementation via features.

jonaro00 avatar Jan 10 '24 14:01 jonaro00