Cargo Features
Pingora has no features set by default.
[dependencies]
pingora = { version = "0.4.0", features = ["openssl", "boringssl", "rustls", "proxy", "lb", "cache", "time", "sentry", "openssl_derived", "any_tls", "patched_http1", "document-features"] }
- openssl = openssl_derived
-
Tls
Tls is provided by adding one of these features. If no tls-providing feature is added, only unencrypted http. Only one tls-providing feature can be selected at a time
Use OpenSSL for tls
Requires native openssl libraries and build tooling
Enables openssl of optional pingora-cache, pingora-core, optional pingora-load-balancing, and optional pingora-proxy
- boringssl = openssl_derived
-
Use BoringSSL for tls
Requires native boring libraries and build tooling
Enables boringssl of optional pingora-cache, pingora-core, optional pingora-load-balancing, and optional pingora-proxy
- rustls = any_tls
-
Use rustls for tls
⚠️ Highly Experimental! ⚠️ Try it, but don't rely on it (yet)
Enables rustls of optional pingora-cache, pingora-core, optional pingora-load-balancing, and optional pingora-proxy
- proxy document-features? lb? = pingora-proxy
-
Pingora extensions
Include the proxy module
This feature will include and export
pingora_proxy::prelude::*
Affects
pingora::proxy
… - lb document-features? = pingora-load-balancing, proxy
-
Include the lb (load-balancing) module
This feature will include and export
pingora_load_balancing::prelude::*
Affects
pingora::lb
… - cache document-features? = pingora-cache
-
Include the cache module
This feature will include and export
pingora_cache::prelude::*
Affects
pingora::cache
… - time document-features?
-
Enable time/scheduling functionality
Affects
pingora::time
… - sentry document-features?
-
Enable sentry for error notifications
Enables sentry of pingora-core
- openssl_derived boringssl? openssl? = any_tls
-
These features are intentionally not documented
- any_tls openssl_derived? rustls?
- patched_http1
-
Enables patched_http1 of pingora-core
- document-features = cache, lb, proxy, sentry, time
-
Enables document-features
Only used for documenting features, but doesn't work in any other dependency group :(
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.