Add TLS features to iceberg-catalog-rest
- Dominant language
- Rust
- Stars
- 1.4k
- Forks
- 567
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 93
Description
### Is your feature request related to a problem or challenge?
reqwest is pinned with default-features = false, so iceberg-catalog-rest has no TLS backend and https:// catalog URIs fail (e.g. against Lakekeeper). The only workaround is a direct reqwest dependency with a TLS feature in the consumer's manifest. Then rust's feature unification solves the issue for you. But this is a very implicit and brittle solution.
### Describe the solution you'd like
Passthrough features named after reqwest's, with the OS trust store variant on
by default; `default-features = false` still gives a TLS-free build:
```toml
[features]
default = ["rustls-tls-native-roots"]
rustls-tls = ["reqwest/rustls-tls"]
rustls-tls-native-roots = ["reqwest/rustls-tls-native-roots"]
```
Implemented here, with docs and a --no-default-features CI check: https://github.com/rutgerclaes/iceberg-rust/tree/tls-support-reqwest
### Willingness to contribute
I would be willing to contribute to this feature with guidance from the Iceberg Rust community
Contributor guide
Research direction
Start in the iceberg-catalog-rest manifest and inspect its reqwest dependency and feature definitions. Review the documentation and CI configuration, then run the --no-default-features check; done means HTTPS catalog URIs work with the default OS trust-store feature while a no-default-features build remains TLS-free.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, security
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100