Cargo Features
[dependencies]
rivven-schema = { version = "0.0.22", default-features = false, features = ["types", "cli", "avro", "json-schema", "protobuf", "server", "jwt", "cedar", "broker", "metrics"] }
- default = avro, cli, json-schema, protobuf, server
-
These default features are set whenever
rivven-schemais added withoutsomewhere in the dependency tree.default-features = false - types
-
Types only - minimal feature for other crates to depend on (no heavy deps)
- cli default
-
CLI features
Enables reqwest ^0.12 and tracing-subscriber
- avro default
-
Schema formats
Enables apache-avro ^0.17
- json-schema default
-
Enables jsonschema ^0.18
- protobuf default
-
Enables prost-types ^0.13 and protox-parse ^0.8
- server default
-
Server features
Enables axum ^0.7, tower, and tower-http
axum:
HTTP Server
Affects
rivven-schema::auth,rivven-schema::server… - jwt
-
JWT/OIDC token validation
Enables jsonwebtoken ^9
JWT validation for OAuth2/OIDC (optional)
Affects
auth::AuthConfig.jwt_config… - cedar
-
Cedar policy-based authorization (fine-grained RBAC)
Enables cedar of rivven-core
Authentication & authorization (RBAC, Cedar, etc.)
Affects
auth::AuthConfig.use_cedar,auth::ServerAuthState,auth::check_subject_permission_cedar,server::ServerState.cedar_authorizer… - broker
-
Broker-backed storage (store schemas in rivven topics for durability)
Enables rivven-client
Broker-backed storage (optional)
- metrics
-
Metrics support (uses metrics crate facade)
Enables metrics
Metrics (optional - uses metrics crate facade, not prometheus crate)
Affects
rivven-schema::metrics…