Cargo Features
[dependencies]
product-os-server = { version = "0.0.41", default-features = false, features = ["core", "dual_server", "executor_tokio", "tls", "cors", "cspolicy", "csrf", "ws", "controller", "postgres_store", "sqlite_store", "redis_key_value_store", "memory_key_value_store", "file_key_value_store", "redis_queue_store", "memory_queue_store", "compression", "middleware", "support_feature_service", "extract_headers", "async-trait"] }
- default = core
-
The
core
feature is set by default wheneverproduct-os-server
is added without
somewhere in the dependency tree.default-features = false - core default = axum, axum-macros, hyper, hyper-util, parking_lot, tracing, tracing-subscriber
-
Web framework using hyper and tower
- dual_server = axum-server-dual-protocol, tls, tokio
- executor_tokio = tokio, tokio-rustls
-
Enables tokio of axum, exec_tokio of product-os-async-executor
- tls dual_server? = hyper-rustls, hyper-util, rustls
-
Enables http2 of hyper-rustls
Affects
dual_server::create_rustls_config
… - cors
-
Enables cors of product-os-router and tower-http
- cspolicy = csp
- csrf = axum_csrf
- ws
-
Enables ws of product-os-router
- controller = product-os-capabilities, product-os-command-control
-
Enables typed-header of axum-extra, relational_store of product-os-store
Affects
command_handler::command_responder
,feature_handler::feature_responder
… - postgres_store
-
Enables postgres_store of product-os-command-control, postgres_relational_store of product-os-store
- sqlite_store
-
Enables sqlite_store of product-os-command-control, sqlite_relational_store of product-os-store
- redis_key_value_store
-
Enables redis_key_value_store of product-os-command-control and product-os-store
- memory_key_value_store
-
Enables memory_key_value_store of product-os-command-control and product-os-store
- file_key_value_store
-
Enables file_key_value_store of product-os-command-control and product-os-store
- redis_queue_store
-
Enables redis_queue_store of product-os-store
- memory_queue_store
-
Enables memory_queue_store of product-os-store
- compression
-
Enables compression-full and decompression-full of tower-http
- middleware
-
Enables middleware of product-os-router
- support_feature_service
-
Enables feature_service of product-os-capabilities
- extract_headers
-
Enables typed-header of axum-extra
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.
- async-trait implicit feature
-
Enables async-trait
Core dependencies
- parking_lot core
- tokio dual_server? executor_tokio?
-
Enables tokio
For async capabilities
- hyper core
-
Enables hyper
For web server capability
- hyper-util core tls?
- hyper-rustls tls?
- axum core executor_tokio?
- axum-macros core
- rustls tls?
-
Enables rustls
TLS support
TLS library for Rust - tokio-rustls executor_tokio?
- csp cspolicy?
-
Enables csp
Optional packages supported by features enabled
- axum_csrf csrf?
- axum-extra controller? extract_headers?
- tower-http compression? cors?
- axum-server-dual-protocol dual_server?
- tracing core
-
Enables tracing
Logging support
- tracing-subscriber core
- product-os-command-control controller? file_key_value_store? memory_key_value_store? postgres_store? redis_key_value_store? sqlite_store?
- product-os-store controller? file_key_value_store? memory_key_value_store? memory_queue_store? postgres_store? redis_key_value_store? redis_queue_store? sqlite_store?
- product-os-capabilities controller? support_feature_service?