Cargo Features

[dependencies]
product-os-server = { version = "0.0.14", default-features = false, features = ["all", "core", "dual_server", "executor_tokio", "tls", "cors", "cspolicy", "csrf", "custom", "controller", "compression", "middleware", "support_feature_service", "async-trait"] }
default = all, core

These default features are set whenever product-os-server is added without default-features = false somewhere in the dependency tree.

all default = compression, controller, core, cors, cspolicy, csrf, custom, dual_server, middleware, tls, ws
core default all = axum, axum-macros, hyper, parking_lot, tracing, tracing-subscriber
dual_server all = axum-server-dual-protocol, tls, tokio

Affects dual_server::create_dual_service_with_axum

executor_tokio

Enables exec_tokio of product-os-async-executor

Affects server_executor::ServerExecutor, https_server::create_https_service_with_axum

tls all dual_server? = axum-server, flexible-hyper-server-tls, hyper-rustls, rustls

Enables tls-rustls of axum-server, http2 of hyper-rustls

Affects https_server::create_https_service_with_axum

cors all

Enables cors of product-os-router and tower-http

cspolicy all = csp
csrf all = axum_csrf

Enables layer of axum_csrf

ws custom all
controller all = product-os-capabilities, product-os-command-control, product-os-store, url

Enables typed-header of axum-extra, relational_store of product-os-command-control

Affects command_handler::command_responder, feature_handler::feature_responder

compression all

Enables compression-full and decompression-full of tower-http

middleware all

Enables middleware of product-os-router

support_feature_service

Enables feature_service of product-os-capabilities

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?

Enables tokio

For async capabilities

hyper core

Enables hyper

For web server capability

hyper-rustls tls?
axum core

Enables axum

Web framework using hyper and tower

axum-macros core
url controller?
rustls tls?

Enables rustls ^0.21.11

TLS support
TLS library for Rust

csp cspolicy?

Enables csp

Optional packages supported by features enabled

axum_csrf csrf?
axum-server tls?
axum-extra controller?
tower-http compression? cors?
axum-server-dual-protocol dual_server?
flexible-hyper-server-tls tls?
tracing core

Enables tracing

Logging support

tracing-subscriber core
product-os-command-control controller?
product-os-store controller?
product-os-capabilities controller? support_feature_service?