Cargo Features

[dependencies]
roadster = { version = "0.2.4", default-features = false, features = ["http", "open-api", "sidekiq", "db-sql", "jwt", "jwt-ietf", "jwt-openid", "cli", "otel"] }
default = cli, db-sql, jwt-ietf, open-api, otel, sidekiq

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

http open-api

Enables axum, axum-extra, tower, and tower-http

axum:

Controllers

Affects api::http, service::http, service::Service.http, api::http, error::axum, middleware::http, service::http

open-api default = http

Enables aide and schemars

Affects roadster::list_routes, roadster::open_api_schema, health::api_routes, http::docs, http::default_api_routes, ping::api_routes, roadster::list_routes, roadster::open_api_schema, 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 Todo: the default rss-stats feature has a dependency that currently can't be satisfied (memchr: ~2.3)

Affects health::HeathCheckResponse.redis_enqueue, health::HeathCheckResponse.redis_fetch, service::Service.sidekiq, worker::sidekiq, error::sidekiq, worker::sidekiq

db-sql default

Enables sea-orm and sea-orm-migration

sea-orm:

DB

Affects roadster::migrate, health::HeathCheckResponse.db, app::App.db_connection_options, roadster::migrate, app_config::AppConfig.database, config::database

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, roadster::cli, service::AppService.handle_cli

otel default

Enables opentelemetry, opentelemetry-otlp, opentelemetry_sdk, and tracing-opentelemetry

Affects tracing::Tracing.service_name, tracing::Tracing.trace_propagation, tracing::Tracing.otlp_endpoint