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-coreis added withoutsomewhere in the dependency tree.default-features = false - 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 depsAffects
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
- vector-search = cqrs-allsource
-
AllSource search features (optional, requires cqrs-allsource)
Enables vector-search of allsource-core ^0.10.3
- keyword-search = cqrs-allsource
-
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?