Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: make rustls default in fluvio, move to reqwest from surf #3156

Closed
wants to merge 28 commits into from

Conversation

ozgrakkurt
Copy link
Contributor

  • Made rustls feature on fluvio the default
  • Made most components use rustls if it is enabled. It used to use openssl anyway because of a compatibility problem.
  • Removed usage of surf because it is not maintained and added reqwest instead.

closes #3091
closes #3113
closes #3070

Seems like a bunch of things need to be manually checked using the cli before we are sure this works?. One problem might be that we need async-std/tokio1 enabled and I enabled it in fluvio crate but this will be problem if the sub-crates are used somewhere else where async-std/tokio1 isn't enabled.

@ozgrakkurt ozgrakkurt requested review from digikata and sehz April 17, 2023 17:52
@ozgrakkurt
Copy link
Contributor Author

@digikata it isn't possible to get rid of openssl entirely for now because we depend on cargo-generate which doesn't seem to give an option to use rustls or run without tls.

@ozgrakkurt ozgrakkurt changed the title make rustls default, move to reqwest from surf feature: make rustls default, move to reqwest from surf Apr 17, 2023
@ozgrakkurt
Copy link
Contributor Author

"solved" the issue with async-std/tokio01 by just adding it as a dep to every crate we use reqwest

Cargo.toml Outdated Show resolved Hide resolved
Cargo.toml Outdated Show resolved Hide resolved
@ozgrakkurt
Copy link
Contributor Author

ozgrakkurt commented Apr 18, 2023

@sehz. I moved features from workspace to individual crates, made everything use rustls as much as I can and the rest uses openssl/native-tls.

removed tls features on fluvio crate.

@ozgrakkurt ozgrakkurt requested a review from sehz April 18, 2023 11:18
@ozgrakkurt
Copy link
Contributor Author

seems like there are errors about doing fluvio-future = { workspace = true }, how should I handle these? Do we need the version to be specified in each of these crates?

@sehz
Copy link
Contributor

sehz commented Apr 18, 2023

you don't need to specify version but need specific feature enabled in each crate that need optional features

@ozgrakkurt
Copy link
Contributor Author

ozgrakkurt commented Apr 18, 2023

@sehz bumped versions also fixed some mistakes. Also this is a breaking change since I removed the openssl and rustls features from fluvio crate

@ozgrakkurt ozgrakkurt changed the title feature: make rustls default, move to reqwest from surf feature: remove tls options, move to reqwest from surf Apr 18, 2023
@ozgrakkurt ozgrakkurt changed the title feature: remove tls options, move to reqwest from surf feature: make rustls default in fluvio, move to reqwest from surf Apr 18, 2023
Copy link
Contributor

@digikata digikata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks really good so far, after it settles down more I wonder if it might be worth splitting apart the PR to some boundaries to phase it in. It's a large number of changes, so separating possible side effects to smaller sets of changes makes it easier on downstream projects like fluvio-cloud-ops. e.g. the fluvio-future syncup to a workspace dep might be worth peeling off and merging to master before this.

@ozgrakkurt
Copy link
Contributor Author

Looks really good so far, after it settles down more I wonder if it might be worth splitting apart the PR to some boundaries to phase it in. It's a large number of changes, so separating possible side effects to smaller sets of changes makes it easier on downstream projects like fluvio-cloud-ops. e.g. the fluvio-future syncup to a workspace dep might be worth peeling off and merging to master before this.

Makes sense, probably gonna have to do this like reqwest change and then another PR for the TLS. My bad on this PR

@digikata
Copy link
Contributor

digikata commented Apr 19, 2023

Makes sense, probably gonna have to do this like reqwest change and then another PR for the TLS. My bad on this PR

No worries, the exploratory work had to be done to find out what the extent of the changes might be. Pretty normal to do the exploration then take a step back and reasses the change sets.

@github-actions
Copy link

Stale pull request message

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants