vmware-labs / wasm-workers-server

🚀 Develop and run serverless applications on WebAssembly

Home Page:https://workers.wasmlabs.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Switch to rustls to avoid compiling OpenSSL

Angelmmiguel opened this issue · comments

Is your feature request related to a problem? Please describe.

Currently, the project relies on OpenSSL to perform https requests to pull the different runtimes. We are using the reqwest crate for it. When compiling the project to Linux with the musl toolchain, we started facing errors due to missing dependencies.

To fix it, we configured the openssl dependency to build the project using the vendored feature. We only applied this to the musl targets:

[target.x86_64-unknown-linux-musl.dependencies]
openssl = { version = "=0.10.48", features = ["vendored"] }
[target.aarch64-unknown-linux-musl.dependencies]
openssl = { version = "=0.10.48", features = ["vendored"] }

We want to avoid compiling this dependency as it causes other issues in the past.

Describe the solution you'd like

The goal is to use the rustls crate. We can configure reqwest to use it via features. However, we cannot do it yet due to an issue with the Windows aarch64 target in the ring dependency. The problem is fix, although the new release is not public yet.

You can track the current status on: briansmith/ring#1551

Describe alternatives you've considered

No response

Additional context

No response

The ring 0.17.0 release is already out! I will open a PR to close this.

The changes in rustls are merged. Now, we are waiting for the backport to the 0.21.X version. Then, we will be able to switch as 0.22 will take more time.

Blocked now by #256