Cargo Features

[dependencies]
allframe-core = { version = "0.1.28", default-features = false, features = ["di", "openapi", "health", "otel", "otel-otlp", "router", "router-graphql", "router-grpc", "router-full", "router-grpc-tls", "http-client", "metrics", "cache-memory", "cache-redis", "rate-limit", "resilience", "resilience-redis", "security", "auth", "auth-jwt", "auth-axum", "auth-tonic", "utils", "cqrs", "cqrs-allsource", "cqrs-postgres", "cqrs-rocksdb", "cqrs-sqlite", "offline", "vector-search", "keyword-search", "grpc-tls"] }
default = di, health, openapi, otel, router

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

di default offline? = allframe-macros

Core features

Affects allframe-core::arch, allframe-core::di

openapi default
health default = hyper, hyper-util

Affects allframe-core::health

otel default otel-otlp? = allframe-macros, tracing

Affects allframe-core::otel

otel-otlp = opentelemetry, opentelemetry-otlp, opentelemetry_sdk, otel, tracing-opentelemetry, tracing-subscriber
router default router-graphql? router-grpc?

Router features

Affects router::config

router-graphql router-full? = async-graphql, async-graphql-parser, router

Affects graphql_prod::GraphQLProductionAdapter, router::graphql_prod

router-grpc auth-tonic? router-full? router-grpc-tls? = futures, prost, prost-types, router, tokio-stream, tonic, tonic-build, tonic-health, tonic-reflection

Affects allframe-core::grpc, grpc_prod::GrpcProductionAdapter, grpc_prod::GrpcService, grpc_prod::streaming, grpc_prod::protobuf, grpc_prod::status, router::grpc_prod

router-full = router-graphql, router-grpc
router-grpc-tls grpc-tls? = router-grpc, rustls-pemfile, tokio-rustls

TLS features for gRPC (enables tonic TLS with rustls-ring)

Enables tls-native-roots and tls-ring of tonic

gRPC/Protobuf support (production-ready)

http-client = reqwest

HTTP Client (re-exports reqwest for downstream use)

metrics = prometheus

Metrics (Prometheus metrics)

cache-memory = dashmap, moka

Caching infrastructure

cache-redis = redis
rate-limit = governor

Rate limiting (basic governor re-export)

resilience resilience-redis? = allframe-macros, backoff, dashmap, governor, parking_lot, rand

Resilience (comprehensive retry, circuit breaker, rate limiting)

Affects resilience::DefaultResilienceOrchestrator, allframe-core::resilience

resilience-redis = redis, resilience

Resilience with Redis backend for distributed rate limiting

security offline? = allframe-macros, url

Security utilities

Affects allframe-core::security

auth auth-axum? auth-jwt? auth-tonic?

Authentication (layered approach)
Core traits only, no deps

Affects allframe-core::auth

auth-jwt = auth, chrono, jsonwebtoken

JWT validation

Affects auth::jwt

auth-axum = auth, hyper, tower

Axum extractors (uses existing hyper)

Affects auth::axum

auth-tonic = auth, router-grpc

gRPC interceptors (uses existing tonic)

Affects auth::tonic

utils = chrono, parking_lot, rand, url

Utilities bundle

cqrs cqrs-allsource? cqrs-sqlite? offline? = allframe-macros

CQRS + Event Sourcing features (optional, not in default)

Affects allframe-core::cqrs

cqrs-allsource cqrs-postgres? cqrs-rocksdb? keyword-search? vector-search? = allsource-core, chrono, cqrs

AllSource Core integration (production event store)

Affects allsource_backend::AllSourceBackend, allsource_backend::AllSourceConfig

cqrs-postgres = cqrs-allsource

DEPRECATED: AllSource v0.10.3 deprecated the postgres feature in favor of WAL-backed event-sourced repositories. Use cqrs-allsource instead.
This feature flag will be removed in a future release.

Enables postgres of allsource-core ^0.10.3

AllSource Core for CQRS + Event Sourcing

cqrs-rocksdb = cqrs-allsource

Enables rocksdb-storage of allsource-core ^0.10.3

cqrs-sqlite offline? = cqrs, rusqlite

Affects saga::SqliteSavepoint

offline = cqrs, cqrs-sqlite, di, security

AllSource search features (optional, requires cqrs-allsource)

Enables vector-search of allsource-core ^0.10.3

Enables keyword-search of allsource-core ^0.10.3

grpc-tls = router-grpc-tls

Legacy alias (deprecated, use router-grpc-tls)

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.

allframe-macros cqrs? di otel resilience? security?

Enables allframe-macros

Optional features - uses workspace version for consistency

allsource-core cqrs-allsource? cqrs-postgres? cqrs-rocksdb? keyword-search? vector-search?

Enables allsource-core ^0.10.3

async-graphql router-graphql?

Enables async-graphql

GraphQL support (production-ready)

async-graphql-parser router-graphql?
backoff resilience?

Enables backoff

Resilience (resilience feature)

chrono auth-jwt? cqrs-allsource? utils?

Enables chrono

Utilities (utils feature)

dashmap cache-memory? resilience?
futures router-grpc?
governor rate-limit? resilience?

Enables governor ^0.6

Rate limiting (rate-limit feature)

hyper auth-axum? health
hyper-util health
jsonwebtoken auth-jwt?

Enables jsonwebtoken ^9.3

Authentication (auth-jwt feature)

moka cache-memory?

Enables moka

Caching (cache-memory, cache-redis features)

opentelemetry otel-otlp?

Enables opentelemetry ^0.27

OpenTelemetry support

opentelemetry-otlp otel-otlp?

Enables opentelemetry-otlp ^0.27

opentelemetry_sdk otel-otlp?

Enables opentelemetry_sdk ^0.27

parking_lot resilience? utils?
prometheus metrics?

Enables prometheus ^0.13

Metrics (metrics feature)

Affects resilience_observability::prometheus_metrics

prost router-grpc?
prost-types router-grpc?
rand resilience? utils?

Enables rand ^0.8

redis cache-redis? resilience-redis?

Enables redis ^0.27

reqwest http-client?

Enables reqwest ^0.12

HTTP Client (http-client feature)

rusqlite cqrs-sqlite?

Enables rusqlite ^0.31

rustls-pemfile router-grpc-tls?

Enables rustls-pemfile

TLS support

tokio-rustls router-grpc-tls?
tokio-stream router-grpc?
tonic router-grpc? router-grpc-tls?
tonic-health router-grpc?
tonic-reflection router-grpc?
tower auth-axum?

Enables tower

HTTP middleware (auth-axum feature)

tracing otel
tracing-opentelemetry otel-otlp?

Enables tracing-opentelemetry ^0.28

tracing-subscriber otel-otlp?
url security? utils?
tonic-build build router-grpc?