Cargo Features
[dependencies]
roadster = { version = "0.6.20", default-features = false, features = ["http", "open-api", "sidekiq", "db-sql", "email", "email-smtp", "email-sendgrid", "jwt", "jwt-ietf", "jwt-openid", "cli", "otel", "grpc", "test-containers", "testing-mocks", "config-yml", "testing"] }
- default = cli, db-sql, jwt-ietf, open-api, otel, sidekiq
-
These default features are set whenever
roadster
is added without
somewhere in the dependency tree.default-features = false - http open-api
-
Enables axum, axum-extra, http-body-util, mime, tower, and tower-http
Affects
api::http
,service::http
,service::Service.http
,api::http
,error::axum
,error::mime
,middleware::http
,service::http
,common::address
… - open-api default = http
-
Affects
roadster::list_routes
,roadster::open_api_schema
,health::api_routes
,http::docs
,http::default_api_routes
,ping::api_routes
,default_routes::DefaultRoutes.api_schema
,default_routes::DefaultRoutes.scalar
,default_routes::DefaultRoutes.redoc
… - sidekiq default
-
Enables bb8, num_cpus, and rusty-sidekiq
rusty-sidekiq:
Workers
Affects
context::RedisEnqueue
,context::RedisFetch
,health_check::HealthCheck.sidekiq
,service::Service.sidekiq
,worker::sidekiq
,error::sidekiq
,health_check::sidekiq_enqueue
,health_check::sidekiq_fetch
,worker::sidekiq
… - db-sql default
-
Enables sea-orm and sea-orm-migration
sea-orm:
DB
Affects
roadster::migrate
,app::App.db_connection_options
,health_check::HealthCheck.database
,lifecycle::LifecycleHandler.db_migration
,config::database
,config::AppConfig.database
,health_check::database
,roadster::migration
,lifecycle::db_migration
… - email email-sendgrid? email-smtp?
-
Enables lettre
Email
Affects
config::email
,config::AppConfig.email
,error::email
,health_check::email
… - email-smtp = email
-
Affects
email::smtp
,email::Email.smtp
,health_check::HealthCheck.smtp
,email::smtp
… - email-sendgrid = email
-
Enables sendgrid
Affects
email::sendgrid
,email::Email.sendgrid
… - jwt jwt-ietf jwt-openid?
-
Enables jsonwebtoken
Auth
Affects
auth::jwt
… - jwt-ietf default = jwt
-
Affects
jwt::ietf
… - jwt-openid = jwt
-
Affects
jwt::openid
… - cli default
-
Enables clap
CLI
Affects
api::cli
,app::PreparedApp.roadster_cli
,app::PreparedApp.app_cli
,lifecycle::AppLifecycleHandler.before_service_cli
,service::AppService.handle_cli
… - otel default
-
Enables opentelemetry ^0.26.0, opentelemetry-otlp ^0.26.0, opentelemetry_sdk ^0.26.0, prost, and tracing-opentelemetry ^0.27.0
prost:
Roadster technically doesn't need a direct dependency on
prost
, but we add one here to allow ourcargo minimal-versions check
check to pass --opentelemetry-proto
requires version0.13.2
or higher in order to compile -- it fails to compile with0.13.1
even though its dependencies don't specify0.13.2
.Affects
tracing::Tracing.service_name
,tracing::Tracing.trace_propagation
,tracing::Tracing.otlp_endpoint
,tracing::Tracing.metrics_export_interval
… - grpc
-
Enables tonic
gRPC
Affects
service::grpc
,service::Service.grpc
,error::tonic
,service::grpc
,common::address
… - test-containers = testing
-
Enables testcontainers-modules
Affects
database::Database.test_container
,config::TestContainer
,sidekiq::Redis.test_container
… - testing-mocks = testing
- config-yml
-
Config We only support
toml
configs currently, and one of the default features (rust-ini
) pulls in a dependency that breaks the coverage build on nightly. - testing test-containers? testing-mocks?
-
Enables insta, rstest, and testcontainers-modules
insta:
Testing
Affects
app::init_state
…