Skip to content

feat(catalog-rest): add rustls TLS features - #2910

Open
rutgerclaes wants to merge 2 commits into
apache:mainfrom
rutgerclaes:tls-support-reqwest
Open

feat(catalog-rest): add rustls TLS features#2910
rutgerclaes wants to merge 2 commits into
apache:mainfrom
rutgerclaes:tls-support-reqwest

Conversation

@rutgerclaes

Copy link
Copy Markdown

Which issue does this PR close?

What changes are included in this PR?

TLS passthrough features for iceberg-catalog-rest so https:// catalog URIs work out of the box:

  • rustls-tls-native-roots (default): rustls validating against the OS trust store
  • rustls-tls: rustls validating against the compiled-in webpki root bundle
  • default-features = false builds without a TLS stack
  • Feature table in the crate README, TLS section in the crate rustdoc
  • CI: the no-default-features job now also builds iceberg-catalog-rest

No code changes. Custom TLS settings (client certificates, extra roots) remain available by passing a preconfigured client to RestCatalogBuilder::with_client.

Are these changes tested?

Feature wiring only, no runtime code. Verified with cargo check for the default feature set, --no-default-features, and rustls-tls.
Adds the iceberg-catalog-rest to the existing "no-default-features" CI check.

reqwest is built with default-features = false, so https:// catalog
URIs only work when another crate in the dependency tree happens to
enable a TLS feature on reqwest 0.12. Then feature unification kicks
in and makes it work.
Add rustls-tls and rustls-tls-native-roots passthrough features, with
rustls-tls-native-roots on by default so https works out of the box
while default-features = false still yields a TLS-free build.

Signed-off-by: Rutger Claes <rgc@rgc.be>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add TLS features to iceberg-catalog-rest

1 participant