Cargo Features

[dependencies]
derust = { version = "0.1.1", default-features = false, features = ["env", "http_server", "http_client", "aws", "env_from_secrets_manager", "postgres", "outbox", "statsd", "prometheus", "growthbook"] }
default = http_server

The http_server feature is set by default whenever derust is added without default-features = false somewhere in the dependency tree.

env http_server

Enables thiserror

Error

and config ^0.14.1, dotenv, and serde

serde:

Json

Affects derust::envx

http_server default = env

Enables lazy_static, opentelemetry-otlp, regex, serde, and serde_json

lazy_static:

Utils

and async-trait, axum, axum-tracing-opentelemetry, bytes, chrono, and init-tracing-opentelemetry ^0.24.1

axum:

Http

and tokio, tower-http, tracing, tracing-subscriber, uuid, and wg

tokio:

Async runtime

Affects derust::httpx, derust::tracex

http_client

Enables opentelemetry and opentelemetry-http

opentelemetry:

Observability

and reqwest, reqwest-middleware, reqwest-tracing, and tracing-opentelemetry

reqwest:

Http client

Affects derust::http_clientx

aws env_from_secrets_manager?

Enables aws-config, aws-sdk-secretsmanager, aws-sdk-sns, and aws-sdk-sqs

aws-sdk-sqs:

AWS

Affects derust::awsx

env_from_secrets_manager = aws

Affects derust::awsx

postgres

Enables serde and sqlx

sqlx:

SQL

Affects derust::databasex

outbox

Enables outbox-pattern-processor, sqlx, and wg

outbox-pattern-processor:

Outbox

Affects derust::outboxx, derust::databasex

statsd

Enables async-trait, cadence, lazy_static, metrics, metrics-exporter-statsd, regex, tokio, and tracing

Affects registries::statsd, database::PostgresTransaction, derust::metricx

prometheus

Enables async-trait, cadence, http-body-util, hyper, lazy_static, metrics, metrics-exporter-prometheus, regex, tokio, and tracing

Affects registries::prometheus, database::PostgresTransaction, derust::metricx

growthbook

Enables growthbook-sdk-rust

Affects derust::growthbookx