Skip to content

Conversation

@coryan
Copy link
Collaborator

@coryan coryan commented Jan 9, 2026

With the default features enabled google-cloud-auth selects a crypto
provider automatically. Note that whatever features are enabled, the
applications can always override the crypto provider, but before this
change it was impossible to prune the default provider from the
dependency tree.

With this change, it is possible to compile google-cloud-auth without
linking the default crypto provider for rustls. If the library is
compiled without a default crypto provider, applications must
configure the provider using
rustls::CryptoProvider::install_default().

Note that most other google-cloud-* crates enable the default crypto
provider. Future PRs will add a similar default-tls feature to all
downstream crates. This feature will be enabled by default, but if
disabled the downstream crates will not require a provider from
google-cloud-auth either.

Part of the work for #4170

@codecov
Copy link

codecov bot commented Jan 9, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.78%. Comparing base (054082d) to head (3097c48).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4220      +/-   ##
==========================================
- Coverage   94.80%   94.78%   -0.02%     
==========================================
  Files         187      187              
  Lines        7194     7193       -1     
==========================================
- Hits         6820     6818       -2     
- Misses        374      375       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coryan coryan force-pushed the feat-auth-prune-crypto-providers branch 6 times, most recently from 14d3a42 to 96615c2 Compare January 14, 2026 18:15
With the default features enabled `google-cloud-auth` selects a crypto
provider automatically. Note that whatever features are enabled, the
applications can always override the crypto provider.

This change partially prunes the default provider from the dependency tree. The
default provider is `ring` and this is still used for certificate verification
via dependencies on `webpki-roots`.

With this change, it is possible to compile `google-cloud-auth` without
linking the default crypto provider for rustls. If the library is
compiled without a default crypto provider, applications **must**
configure the provider using
`rustls::CryptoProvider::install_default()`.

Note that most other `google-cloud-*` crates enable the default crypto
provider. Future PRs will add a similar `default-tls` feature to all
downstream crates. This feature will be enabled by default, but if
disabled the downstream crates will not require a provider from
`google-cloud-auth` either.
@coryan coryan force-pushed the feat-auth-prune-crypto-providers branch from e1cc73a to 3097c48 Compare January 15, 2026 14:44
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.

1 participant